executeUpdate("insert into User_info (UserName,PassWord,Gender,Tel,Purview,IdentityCard,Question,Answer,Interest) values ('"+username+"','"+pwd1+"','"+gender_insert+"','"+tel+"','"+purview+"','"+identity_card+"','"+question+"','"+answer+"','"+interest+"')");请问应该怎么改才行了?
executeUpdate("insert into User_info (UserName,PassWord,Gender,Tel,Purview,IdentityCard,Question,Answer,Interest) values ('"+username+"','"+pwd1+"','"+gender_insert+"','"+tel+"','"+purview+"','"+identity_card+"','"+question+"','"+answer+"','"+interest+"')");请问应该怎么改才行了?
"insert into User_info(UserName,PassWord,Gender,Tel,Purview,IdentityCard,Question,Answer,Interest) values ('daming924','daming87924','1','13662311345','1','00000','00000','000000','5555555')"
这样我在sql查询分析器就提示:以 'insert into User_info(UserName,PassWord,Gender,Tel,Purview,IdentityCard,Question,Answer,Interest) values ('daming924','daming879' 开头的 标识符 太长。最大长度为 128。
去掉""就行了,但在
executeUpdate("insert into User_info (UserName,PassWord,Gender,Tel,Purview,IdentityCard,Question,Answer,Interest) values ('"+username+"','"+pwd1+"','"+gender_insert+"','"+tel+"','"+purview+"','"+identity_card+"','"+question+"','"+answer+"','"+interest+"')");怎么改啊?
conn.setAutoCommit(false);
PreparedStatement ps =
conn.prepareStatement("insert into dept values (?, ?, ?)");
//Change batch size for this statement to 3
((OraclePreparedStatement)ps).setExecuteBatch (3);
//--------#1------------
ps.setInt(1, 23);
ps.setString(2, "Sales");
ps.setString(3, "USA");
ps.executeUpdate(); //JDBC queues this for later execution
楼主把带引号的整个字符串"insert into。。"放在sql查询分析器里查,分析器当然说这个标识符太长了。因为外面有“”,分析器把它解析成一个标识符,而不是一句sql。
所以楼主说:去掉""就行了。去掉两边的引号,就是一句正确的sql了。所以楼主什么也不用担心,这其实是虚惊一场。只要保证java代码里sql拼装的正确就好了。