【发布时间】:2019-03-03 17:19:25
【问题描述】:
我正在开发一个简单的基于 java mysql 的应用程序,在将数据插入数据库期间,我遇到了下面提到的 SQL 错误。
这是我的代码:
public DBConnection() {
try {
Class.forName("com.mysql.jdbc.Driver");
con = DriverManager.getConnection("jdbc:mysql://localhost:3306/myDatabase?useUnicode=true&useLegacyDatetimeCode=false&serverTimezone=Turkey", "root", "");
st = con.createStatement();
System.out.println("CONNECTED!");
} catch (Exception e) {
System.out.println("Error : " + e);
}
}
public void addCustomer(String name, String surname, String company, String adress, String adressTwo){
String addQuery = "insert into musteri (name,surname,company,adress,adressTwo) values (?,?,?,?,?)" ;
try {
st.executeUpdate(addQuery);
System.out.println("Data Added");
} catch (Exception e) {
System.out.println("Error occured when adding value to database : " + e );
}
}
这是我添加数据的 java main 方法:
public static void main(String[] args) {
// TODO code application logic here
Customers c1 = new Customers();
c1.setIsim("test");
c1.setSoyisim("test");
c1.setSirket("test");
c1.setAdres("test");
c1.setIletisim("test");
DBConnection db = new DBConnection();
db.addCustomer(c1.isim, c1.soyisim, c1.sirket, c1.adres, c1.iletisim);
}
我得到的错误是:
向数据库添加值时发生错误:java.sql.SQLSyntaxErrorException:您的 SQL 语法有错误;检查与您的 MariaDB 服务器版本相对应的手册,以获取正确的语法,以便在第 1 行的“插入 musteri (ad,soyad,sirket,adres,iletisim) 值 (?,?,?,?,?)'' 附近使用
【问题讨论】:
-
你设置preparedstatement参数了吗?
-
另外我建议将语句创建为方法中的局部变量,而不是重新使用某些类成员或全局变量
-
是的,我准备好了。顺便说一句,当我添加正常值而不是?它工作正常。
-
显示
addCustomer的完整代码,包括您设置参数的位置 -
发布错误“插入musteri(广告,大豆...”不匹配发布的代码“插入musteri(姓名,姓氏...” - 也错过了设置参数(如
addQuery.setString(...)
标签: java mysql jdbc syntax-error sql-insert