草庐IT

PreparedStatement

全部标签

java - 在不知道数据类型的情况下将值绑定(bind)到 PreparedStatement

使用setObject(index,object)将值绑定(bind)到preparedstatement使用MySQL时效果很好,但使用Oracle时效果不佳。preparedStatement.setObject(i,bindValue);下面是附加绑定(bind)变量后构建的查询。selectACC_NOfromACC_TABLEwhereACC_NAME='java.lang.String';它试图转换为java.lang.String类型,这导致以下异常:java.sql.SQLException:Couldnotexecutesqlcommand-Originalmessa

mysql升级(5.0.45到5.1.42)报错

当我们将5.0.45升级到5.1.42时出现以下错误。我需要使用mysql_upgrade还是mysqlcheck?Causedby:java.sql.SQLException:mysql.proc的列数错误。预计20个,发现16个。使用MySQL50045创建,现在运行50142。请使用mysql_upgrade修复此错误。atcom.mysql.jdbc.SQLError.createSQLException(SQLError.java:1055)atcom.mysql.jdbc.SQLError.createSQLException(SQLError.java:956)atcom

java - 尝试执行 PreparedStatement 时 "?"附近的 MySQLSyntaxErrorException

我正在尝试使用Java中的PreparedStatement执行查询。当我尝试执行查询(语法错误)时收到错误编号1064。我已经在MySQL查询浏览器中用替换值测试了它,效果很好。我的代码有什么问题?相关代码如下:Stringquery="selectMemberID,MemberNamefrommemberswhereMemberID=?orMemberName=?";Connectionconn=DriverManager.getConnection(DATABASE_URL,USERNAME,PASSWORD);PreparedStatements=conn.prepareSta

java - 使用 PreparedStatement 将 blob 设置为 null

我正在使用JSF2.0创建Web应用程序,在mysql中,我使用MEDIUMBLOB数据类型存储图像。为了插入值,我正在使用PreparedStatement,如下所示。PreparedStatementpsmnt=con.prepareStatement("INSERTINTOsketchesSG002003(userid,imageTitle,imageData,drawingComments)VALUES(?,?,?,?)");psmnt.setLong(1,personalInfoId);psmnt.setString(2,sketchesSG002003Title);try{

java - 为什么数据库连接一直关闭

我真的被这个问题困住了,所以我很高兴有人能帮助我!当我在一分钟后登录时,当我尝试再次登录时系统注销,我收到此错误:com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException:连接关闭后不允许操作。如何防止此连接关闭。什么是最好的连接池注意:我仍然是一个学习者,正在做我的第一个CRUD!数据库实用程序:privatestaticConnectionconnet;publicstaticConnectiongetConnection(){if(connet!=null)returnconnet;InputStre

java - PreparedStatement 可以不考虑 WHERE 子句中的某些条件吗?

比如我有一个语句"SELECT*FROMReportsWHEREStartDate>=?WHEREEndDate但有时网页上的某些输入字段未填写,所以我不得不不考虑这种情况。即我没有填写开始日期,所以声明必须是"SELECT*FROMReportsWHEREEndDate有3种不同的条件。那么,我是否必须编写8个不同的语句和DAO方法来完成任务?真的吗?也许还有其他解决方案?编辑:我用的是MySQL/ 最佳答案 更改您的SQL以适应空值。因为您没有告诉我们您正在使用哪个数据库,所以我将使用“vanilla”SQL:SELECT*FR

java.sql.SQLException : Data truncated for column 异常

我是Java编程的新手。我的类中有一个枚举数据类型:publicclassPersons{privateStringname;privateStringfamily;privateDatebirthDate;publicenumdegree{Bsd,Msd,prof};privatedegreedegree;...}在我的MySQL数据库中,我有一个学位字段:ENUM('Bsd','Mds','prof')我的hibernate映射是这样的:当我想在我的表中插入一条新记录时,我得到这个错误:Hibernate:insertintotbl_professor(name,family,bi

Java mysql,使用PreparedStatement的简单更新有语法错误

这段代码有一些简单的语法错误。我已经战斗了几个小时,我放弃了。你能发现吗?我打赌这很容易。谢谢!当我只更新名字John时,没问题。当我也尝试更新姓氏的注释行时,出现语法错误。importjava.sql.*;publicclassUpdateTester{publicstaticvoidmain(String[]args){try{Connectconnect=newConnect();Connectionconnection=connect.getConnection();try{Stringsql="UPDATEstudentSETfirstName=?"+"WHEREstuden

java - 如果遇到暂时性异常,我可以重新使用 PreparedStatement 吗?

我有一段代码可以更新数据库中的记录。简化示例:...statement=connection.prepareStatement("INSERTINTOthistable(name)VALUES(?)",PreparedStatement.RETURN_GENERATED_KEYS);statement.setString(1,"Fred");statement.addBatch();statement.setString(2,"Joe");statement.addBatch();statement.executeBatch();...这是一些处理大量记录的代码的一部分,代码运行大量线

java - 在 Tomcat 上使用 MySQL 池化 PreparedStatement

将Tomcat与MySQL一起使用时,Tomcat数据源配置中的poolPreparedStatements设置(我相信来自DBCP)和Connector/J之间的关系是什么cachePrepStmts环境?最佳配置是什么? 最佳答案 poolPreparedStatements是TomcatJDBC连接池的设置,cachePrepStmts是Connector/J告诉MySQL缓存准备好的语句的设置。完全不同的两件事。cachePrepStmts是针对每个连接的设置,但Connector/J并不关心它是连接到数据库连接池还是直接连