JAVA jdbc Eclipse SQLException

时间:2017-03-08 07:53:00

标签: java mysql jdbc

我试图向表添加详细信息,但它显示了一些SQL错误

查询是:

t=st1.executeUpdate("insert into stdetails(regno,nam,cid,gender,HouseName,place,guardian,phone,photo,did,Emailid,sem) values("+  reg+",'"+ n +"',"+ c +",'"+g+"','"+ h+"','"+p+"','"+ guar +"','"+ph+"','"+pic+"',"+d+",'"+e+"',"+s+"");

错误是

  

您的SQL语法有错误;查看与您的MySQL服务器版本相对应的手册,以获得在''附近使用的正确语法。在第1行

2 个答案:

答案 0 :(得分:1)

你的mysql语法中有错误

 String query="insert into stdetails (regno,nam,gender) values(?,?,?)";
 PreparedStatement preparedStmt2 = con.prepareStatement(query);
 preparedStmt2.setInt (1," ");
 preparedStmt2.setString (2," ");
 preparedStmt2.setString(3, " ");
 preparedStmt2.execute();

像这样你也可以添加更多列

答案 1 :(得分:1)

您在查询结尾处缺少括号,因此它应如下所示:

t = st1.executeUpdate("...." + s + ")");
//----------------------------------^---

<强> BUT

与使用这种方式相比,这可能会导致语法错误,并导致Sql Injection您必须使用PreparedStatement