Java SQL错误1064
我在使用一些简单的代码时遇到了问题,但我无法确定我到底做错了什么。 以下是我的代码:Java SQL错误1064,java,sql,Java,Sql,我在使用一些简单的代码时遇到了问题,但我无法确定我到底做错了什么。 以下是我的代码: String userName = "username"; String password = "password"; String url = "jdbc:mysql://computername/proejct"; Connection conn=null; String value="some_value"; try
String userName = "username";
String password = "password";
String url = "jdbc:mysql://computername/proejct";
Connection conn=null;
String value="some_value";
try
{
Class.forName("com.mysql.jdbc.Driver").newInstance();
conn = DriverManager.getConnection(url, userName, password);
String query1= "SELECT * FROM table WHERE column_Name=?";
PreparedStatement psmt1 = conn.prepareStatement(query1);
psmt1.setString(1, value);
Boolean count=psmt1.execute(query1);
if(count==false)
{
//do something
}
psmt1.close();
}
catch (Exception e)
{
e.printStackTrace();
}
这就是我得到的错误:
com.mysql.jdbc.JDBC4PreparedStatement@5f989f84: SELECT * FROM source2 WHERE File_Name='Messages.java'
com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '?' at line 1
at sun.reflect.GeneratedConstructorAccessor3.newInstance(Unknown Source)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
at java.lang.reflect.Constructor.newInstance(Unknown Source)
at com.mysql.jdbc.Util.handleNewInstance(Util.java:409)
at com.mysql.jdbc.Util.getInstance(Util.java:384)
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1054)
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3566)
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3498)
at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1959)
at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2113)
at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2562)
at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2512)
at com.mysql.jdbc.StatementImpl.execute(StatementImpl.java:781)
at com.mysql.jdbc.StatementImpl.execute(StatementImpl.java:624)
at SearchAndUpdate.recursiveUpdate(SearchAndUpdate.java:98)
at SearchAndUpdate.recursiveUpdate(SearchAndUpdate.java:115)
at SearchAndUpdate.recursiveUpdate(SearchAndUpdate.java:115)
at SearchAndUpdate.recursiveUpdate(SearchAndUpdate.java:115)
at SearchAndUpdate.recursiveUpdate(SearchAndUpdate.java:115)
at SearchAndUpdate.recursiveUpdate(SearchAndUpdate.java:115)
at SearchAndUpdate.recursiveUpdate(SearchAndUpdate.java:115)
at SearchAndUpdate.recursiveUpdate(SearchAndUpdate.java:115)
at SearchAndUpdate.recursiveUpdate(SearchAndUpdate.java:115)
at SearchAndUpdate.recursiveTraversal(SearchAndUpdate.java:55)
at SearchAndUpdate.main(SearchAndUpdate.java:40)
我准备的文件有问题吗
我打印了准备声明,它看起来是这样的:
根据以下行从source2中选择*列_Name='Messages.java':
check the manual that corresponds to your MySQL server version for the right syntax to use near '?' at line 1
看来你的声明还没有准备好。?
正在发送到MySQL
我认为:
Boolean count=psmt1.execute(query1);
应该是(编辑)
根据这条线:
check the manual that corresponds to your MySQL server version for the right syntax to use near '?' at line 1
看来你的声明还没有准备好。?
正在发送到MySQL
我认为:
Boolean count=psmt1.execute(query1);
应该是(编辑)
这是
String query1=“从列名称=?”所在的表中选择*”代码>实际类中的语句?您的错误消息SELECT*FROM source2,其中文件_Name='Messages.java'
显示了一条不同的语句。这是String query1=“SELECT*FROM table WHERE column_Name=?”代码>实际类中的语句?您的错误消息SELECT*FROM source2,其中文件\u Name='Messages.java'
显示了一条不同的语句。另外,只想添加变量不应该是布尔值,而应该是结果集,因为您正在执行SELECT语句。我不知道这是否会导致错误,但应该考虑到这一点,所以只想添加变量不应该是布尔值,而应该是结果集,因为您正在执行select语句。我不知道这是否会导致错误,但应该加以考虑