gpt4 book ai didi

java - odbc - 插入语法错误

转载 作者:行者123 更新时间:2023-12-02 07:39:12 24 4
gpt4 key购买 nike

我正在尝试通过 odbc 驱动程序通过 java 更新访问数据库。

表名称为form1

执行此命令时出现语法错误:

updates="INSERT INTO form1 
(entrydate,name,gender,month,date,phno,emailid,facebookid,address,semester,
bloodgroup,slno,college,department,liveprojects,trainings);

values("+abc+",'"+t3.getText()+"','"+t4.getText()+"',"+def+","+def1+","+zzz+",'"
+t8.getText()+"','"+t9.getText()+"','"+t10.getText()+"',"+aaaa+",'"
+t12.getText()+"',"+xyz+",'"+t13.getText()+"','"+dd+"','sa','da')";

谢谢。

最佳答案

您的陈述有两个问题 - 一个是真实的问题,一个是潜在的问题:

  • Real:需要删除 values 关键字之前的分号
  • 潜在问题:该语句需要进行转换才能与参数一起使用,否则任何字符串参数正文中的单引号都会导致语法错误。

以下是如何切换到参数化准备好的语句:

String updates="INSERT INTO form1 (entrydate,name,gender,month,date,phno,emailid,facebookid,address,semester,bloodgroup,slno,college,department,liveprojects,trainings) values(?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)";
PreparedStatement psUpd = con.prepareStatement(updates);
psUpd.setInt(1, abc);
psUpd.setString(2, t3.getText());
psUpd.setString(3, t4.getText());
psUpd.setInt(4, def);
psUpd.setInt(5, def1); // The types of parameters need to match the type of setXYZ
... // Continue for the remaining parameters, then call
psUpd.executeUpdate();

关于java - odbc - 插入语法错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11807950/

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