gpt4 book ai didi

java - 找不到变量

转载 作者:行者123 更新时间:2023-12-02 05:23:06 25 4
gpt4 key购买 nike

我正在创建一个简单的系统,可以添加、搜索、更新和删除数据。除了更新部分之外,我的工作已基本完成。我尝试了任何可能的解决问题的方法,这是我使用的一个变量。

这是我使用的代码:

try{
Class.forName("com.mysql.jdbc.Driver");
Connection con= (Connection)
DriverManager.getConnection("jdbc:mysql://localhost:3306/tvatpms","root","");
Statement stmte=con.createStatement();

String acn = jTextField3.getText();
String c_name = jTextField10.getText();
String c_address=jTextField4.getText();
String c_tin=jTextField5.getText();
String c_bln=jTextField6.getText();
String c_ea=jTextField7.getText();
String c_tn=jTextField8.getText();
String c_fn=jTextField9.getText();
String c_cp=jTextField2.getText();



String sql=("UPDATE client SET c_name='" + (c_name) "', c_address='" + (c_address)+ "', c_tin='" + (c_tin)+ "', c_bln='" + (c_bln)+ "', c_ea='" + (c_ea)+ "', c_tn='" + (c_tn)+ "', c_fn='" + (c_fn)+ "', c_cp='" + (c_cp)+"' where acn = '" + (acn) + "'");


stmte.executeUpdate(sql);


jTextField10.setText("");
jTextField4.setText("");
jTextField5.setText("");
jTextField6.setText("");
jTextField7.setText("");
jTextField8.setText("");
jTextField9.setText("");
jTextField2.setText("");


JOptionPane.showMessageDialog(null,"DATABASE UPDATED");

}
catch(Exception e) {
JOptionPane.showMessageDialog(null,"Database not updated!","Error",JOptionPane.ERROR_MESSAGE);
// Logger.getLogger(log.class.getName()).log(Level.SEVERE, null, ex);
}

问题出在字符串sql部分。它表示程序找不到上面声明的 c_name 变量。有人能帮我吗?我对 Java 的使用还是个新手,所以非常感谢您的帮助。

最佳答案

我认为PreparedStatement将是避免此类问题的一个完美解决方案试试这个

String sql="UPDATE client SET c_name=?,c_address=?,c_tin=?,c_bln=?,c_ea=?,c_tn=?," +
" c_fn=?,c_cp=? where acn = ?";
PreparedStatement statement = conn.prepareStatement(sql);
statement.setString(1, c_name);
statement.setString(2,c_address);
statement.setString(3,c_tin);
statement.setString(4,c_bln);
statement.setString(5,c_ea);
statement.setString(6,c_tn);
statement.setString(7,c_fn);
statement.setString(8,c_cp);
statement.setString(9,acn);
statement.executeUpdate();

关于java - 找不到变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26327320/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com