这个问题已经在这里有了答案 :
MySQLSyntaxErrorException在“?”附近
尝试执行PreparedStatement时
(2个答案)
2年前关闭。
我尝试使用JDBC使用PreparedStatement通过以下方法插入userId(int)和userName(String):
public boolean saveUser(int userId, String userName){
boolean saveStatus = false;
try {
connection.setAutoCommit(true);
String sql = "insert into testtable values(?,?)";
PreparedStatement statement = connection.prepareStatement(sql);
statement.setInt(1, userId);
statement.setString(2, userName);
saveStatus = statement.execute(sql);
} catch (SQLException e) {
e.printStackTrace();
}finally{
Connector.closeConnections();
}
return saveStatus;
}
我得到以下堆栈跟踪:
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
我究竟做错了什么?
试试这个,这应该工作:
try {
connection.setAutoCommit(true);
String sql = "insert into testtable values(?,?)";
PreparedStatement statement = connection.prepareStatement(sql);
statement.setInt(1, userId);
statement.setString(2, userName);
saveStatus = statement.execute();
} catch (SQLException e) {
e.printStackTrace();
}
return saveStatus;
}
PreparedStatement是预编译的语句。您不必在执行时提供sql字符串。
问题内容: 我正在尝试使用Java中的PreparedStatement执行查询。 尝试执行查询时出现错误号1064(语法错误)。 我已经在MySQL查询浏览器中使用替代值测试了此方法,效果很好。 我的代码有什么问题? 以下是相关代码: 这是我得到的例外: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException:SQL语法有错误;检查与您
我在执行脚本时遇到了这个错误。我已经升级了FF(56),Gecko(v0.19)和Selenium 3.6。。。 这是我的代码: 日志中的错误: 线程“main”java中出现异常。lang.IllegalStateException:驱动程序可执行文件的路径必须由webdriver设置。壁虎。驱动系统属性;有关更多信息,请参阅https://github.com/mozilla/geckodri
问题内容: 我试图在Java中实现一个非常简单的Trie,该Trie支持3种操作。我希望它具有一个insert方法,一个has方法(即trie中的某个单词)和一个toString方法以字符串形式返回trie。我相信我的插入工作正常,但是has和toString证明很困难。到目前为止,这就是我所拥有的。 特里类。 和节点类 因此,基本上,在创建Trie时,将创建一个TrieNode作为具有26个子级
问题内容: 假设您有以下代码: 重用ps变量是否有潜在的泄漏? 如果是这样,我不希望声明多个此类准备好的语句(ps1,ps2,ps3等)。我应该如何重构呢? 有人在想吗? 编辑 收到几个答案,说明这无关紧要。我想指出的是,我遇到的游标保持打开状态的时间过长,并且想知道该模式是否与此有关。 我的想法是: 第一条语句被取消引用并进行了GC处理,因此在此示例中,如何关闭第一个PreparedStatem
我不擅长java,还在尝试如何通过jdbc驱动程序将java连接到mysql(xampp),有人知道我为什么总是出错吗? 以下是控制台结果 我已经创建了数据库并插入了两个数据,其中一个是“username=rod1,password=rod”