我试图向表添加详细信息,但它显示了一些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行
答案 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。