我正在使用准备好的语句,它应该(使用SQL & JDBC)将数据插入数据表。我正在使用一个删除可以正常工作的数据,但是插入的数据不会将任何数据插入到数据表中,也不会产生错误或警告。什么可能导致准备好的陈述以这种方式失败? 可以在准备好的语句中插入一个空值导致这个?准备好的声明失败
Q
准备好的声明失败
0
A
回答
2
“失败,但不会产生错误”是什么意思?你怎么知道它失败了 - 是否实际上没有插入数据?也许你没有进行交易?
0
解决问题的两种方法。
1路:
Connection con = DriverManager.getConnection(DB_host, DB_UserName, DB_UserPassword);
con.setAutoCommit(true);
String sql = "INSERT INTO Users (fName, lastName, userName, password) VALUES (?, ?, ?, ?)";
PreparedStatement stmt = con.prepareStatement(sql);
stmt.setString(1, "fName");
stmt.setString(2, "lastName");
stmt.setString(3, "userName");
stmt.setString(4, "password");
stmt.executeUpdate();
第二个办法:
Connection con = DriverManager.getConnection(DB_host, DB_UserName, DB_UserPassword);
String sql = "INSERT INTO Users (fName, lastName, userName, password) VALUES (?, ?, ?, ?)";
PreparedStatement stmt = con.prepareStatement(sql);
stmt.setString(1, "fName");
stmt.setString(2, "lastName");
stmt.setString(3, "userName");
stmt.setString(4, "password");
stmt.executeUpdate();
con.commit();
也就是说在创建连接对象本身能自动提交真实吧。所以,它会立即反映到你的数据库中的变化。
否则后乌尔交易进行连接的承诺,以确保您的交易将被保存在数据库中
相关问题
- 1. 准备准备好的声明中失败的一部分 - 直接在另一个准备好的声明
- 2. PHP准备好的声明失败时调用MySQL函数
- 3. 准备好的声明mysqli
- 4. SQLI准备好的声明
- 5. 准备好的声明
- 6. 准备好的声明
- 7. php mysqli准备好声明
- 8. php已准备好声明
- 9. 准备好声明的好处
- 10. 什么是最准确的;声明VS准备好的声明
- 11. SQLite的在准备好的声明
- 12. 准备好的声明不工作
- 13. 准备好的声明保持为假
- 14. 了解准备好的声明 - PHP
- 15. 准备好的声明不存在
- 16. PHP + PDO - 准备好的声明信息
- 17. 用事先准备好的声明
- 18. 准备好的声明已经存在
- 19. 创建MySQL准备好的声明
- 20. pdo准备好的声明不更新
- 21. 准备好的声明不起作用
- 22. 准备好的声明是什么?
- 23. 检索ODBC准备好的声明
- 24. SQL LIKE查询失败 - 在事先准备好的声明中致命错误
- 25. PDO准备好声明,正确使用?
- 26. MySQL准备好声明加入查询
- 27. PDO准备好声明并添加
- 28. PDO准备好声明“where”问题
- 29. MySQL准备好声明,写入多行
- 30. pdo准备好声明多次执行?
你可以张贴一些示例代码? – 2009-07-28 22:37:40
ChssPly76完全正确 – 2009-07-28 22:39:49