sql语句中缺少单引号,应改为:
String sql = "update test set username='"+username+"',sex='"+sex+"', birth='"+birth+"',borth='"+borth+"',working='"+working+"',loginpass='"+loginpass+"',salary='"+salary+"' where id='"+id+"'";
在实际开发中,应该避免使用这种拼接,会出现sql注入的风险,建议采用预编译的形式,如下:
String sql = "update test set username=?, sex=?, birth=?, borth=?, working=?, loginpass=?, salary=? where id=?";
PreparedStatement prestmt = conn.prepareStatement(sql);
prestmt.setString(1,username);
prestmt.setString(2,sex);
prestmt.setString(3,birth);
prestmt.setString(4,borth);
prestmt.setString(5,working);
prestmt.setString(6,loginpass);
prestmt.setString(7,salary);
prestmt.setString(8,id);
prestms.executeUpdate();
sql语句拼接的时候注意要单引号
birth不是数字,是字符串。所以必须要单引号括起来才可以
拼接符号用错了,要用单引号啊
如果字段是字符串的话需要用单引号括起来如:"update test set username='"+username+"'"
你这样拼接出来相当于update test username=username...应该是 update test username='username'....
字符串拼接需要用'',如果是int类型的就不用,但是如果是int类型,数据库是varchar类型如果不用'',会查不出来的
string sql="update test set username='"+username+"',sex='"+sex+"', birth='"+birth+"',borth='"+borth+"',working='"+working+"',loginpass='"+loginpass+"',salary='"+salary+"' where id='"+id+"'";楼主前期可以这样写,但是如果在实际开发过程中务必避免,这样存在很大的安全隐患,会产生sql注入情隐患。所以还是要避免的哦,希望采纳。
如果字段是字符串的话需要用单引号括起来如:"update test set username='"+username+"'" 也可以用另一种方法
PreparedStatement pstmt = null;String sql = "SELECT * FROM zctable WHERE username=? AND userpwd=? ";
try {
pstmt = conn.prepareStatement(sql);
pstmt.setString(1 , username);
pstmt.setString(2 , userpwd);·························
1,规则习惯必须要说:拼接Sql有注入风险,建议用PreparedStatement,参数用? ;
2,sql语句拼接的时候根据参数数据类型,字符类型的要用单引号
String sql = "update test set username='"+username+"',sex='"+sex+"', birth='"+birth+"',borth='"+borth+"',working='"+working+"',loginpass='"+loginpass+"',salary='"+salary+"' where id='"+id+"'";
在实际开发中,应该避免使用这种拼接,会出现sql注入的风险,建议采用预编译的形式,如下:
String sql = "update test set username=?, sex=?, birth=?, borth=?, working=?, loginpass=?, salary=? where id=?";
PreparedStatement prestmt = conn.prepareStatement(sql);
prestmt.setString(1,username);
prestmt.setString(2,sex);
prestmt.setString(3,birth);
prestmt.setString(4,borth);
prestmt.setString(5,working);
prestmt.setString(6,loginpass);
prestmt.setString(7,salary);
prestmt.setString(8,id);
prestms.executeUpdate();