草庐IT

preparedStatement

全部标签

java.sql.SQLException : No value specified for parameter 5, 但字符串长度为 4,而不是 5

我计划使用yahoofinancecsvapi生成url以获取股票实时价格和时间。url是这样的http://download.finance.yahoo.com/d/quotes.csvs=%40%5YHOO,GOOG,MSFT,BAC&f=nsl1o&e=.csv,它会返回一个包含4列的表格。我用jdbc把数据存到Mysql,但是一直报错:“Novaluespecifiedforparameter5”。代码如下:公共(public)课Quote_Saver{私有(private)无效连接(){尝试{Class.forName("com.mysql.jdbc.Driver");}ca

java - 列计数与第 1 行 JAVA mysql 的值计数不匹配

这个问题在这里已经有了答案:java.sql.SQLException:Columncountdoesn'tmatchvaluecountatrow1(3个答案)关闭5年前。我遇到了错误,java.sql.SQLException:Columncountdoesn'tmatchvaluecountatrow1atcom.mysql.jdbc.SQLError.createSQLException(SQLError.java:1073)atcom.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3609)atcom.mysql.jdbc.

java - 如何在 jdbc 与 mysql 中提交连接后保持结果打开?

我正在将jdbc与mysql一起使用并使用事务。在while(resultset.hasnext()){}当我提交连接时,我的结果集关闭,当第二次循环迭代时,它抛出无法在关闭的结果集上执行操作的异常。同时我也设置了这些参数statement1=connection1.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE,ResultSet.HOLD_CURSORS_OVER_COMMIT);但我无法在提交后保持ResultSet打开状态。while(resultSet.next()){id=

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