在 java 中更新 SQL
Updating SQL in java
我想在某些情况下更新数据库中的日期,所以我尝试了我在执行的按钮操作中调用它的方法
public void DeleteDate (JTextField txt1, JTextField txt2)
{
try {
Class.forName("com.mysql.jdbc.Driver");
String m = "IMCDietitian";
String unicode= "?useUnicode=yes&characterEncoding=UTF-8";
Connection conn = DriverManager.getConnection("jdbc:mysql://localhost/"+m+""+unicode+"","root","");
System.out.println("connected");
String dept = jComboBox1.getSelectedItem().toString();
Statement st = conn.createStatement();
st.executeUpdate("UPDATE "+dept+" SET edate = '"+jTextField1.getText()+"' WHERE pname = '"+txt1.getText()+"' AND rno = '"+txt2.getText()+"' AND edate = '-'");
}
catch (Exception e) {
e.printStackTrace();
}
}
但它不会更新数据库中的任何内容。谁能帮帮我?
看不到任何更新可能有以下原因:
- 可能 where 子句不会返回任何行,因此不会更新任何行。
- 也许自动提交是错误的。在这种情况下,您需要显式调用提交。请注意,您还可以查看交易。
- 一个例外,但在这种情况下似乎有 none。
此外,使用 PreparedStatement - 它更干净并且经过编译以供重用。
我想在某些情况下更新数据库中的日期,所以我尝试了我在执行的按钮操作中调用它的方法
public void DeleteDate (JTextField txt1, JTextField txt2)
{
try {
Class.forName("com.mysql.jdbc.Driver");
String m = "IMCDietitian";
String unicode= "?useUnicode=yes&characterEncoding=UTF-8";
Connection conn = DriverManager.getConnection("jdbc:mysql://localhost/"+m+""+unicode+"","root","");
System.out.println("connected");
String dept = jComboBox1.getSelectedItem().toString();
Statement st = conn.createStatement();
st.executeUpdate("UPDATE "+dept+" SET edate = '"+jTextField1.getText()+"' WHERE pname = '"+txt1.getText()+"' AND rno = '"+txt2.getText()+"' AND edate = '-'");
}
catch (Exception e) {
e.printStackTrace();
}
}
但它不会更新数据库中的任何内容。谁能帮帮我?
看不到任何更新可能有以下原因:
- 可能 where 子句不会返回任何行,因此不会更新任何行。
- 也许自动提交是错误的。在这种情况下,您需要显式调用提交。请注意,您还可以查看交易。
- 一个例外,但在这种情况下似乎有 none。
此外,使用 PreparedStatement - 它更干净并且经过编译以供重用。