JSP SQL Server2000数据库连接问题

来源:百度知道 编辑:UC知道 时间:2024/07/13 09:56:30
else{
String sql="INSERT INTO userinformation VALUES(
'"+register_name+"','"+password1+"',"+sex+"','"+email+"','"+qq+"','"+phone+"',
'"+address+"','"+name2+"','"+photo+"')";

stmt.executeUpdate(sql);
session.setAttribute("name",register_name);
response.sendRedirect("F_login.jsp");
}

我的代码是这样的为什么老是出现[Microsoft][ODBC SQL Server Driver][SQL Server]第 1 行: ',' 附近有语法错误。
我改了还是不行。
我的数据库表结构是这样的userinformation(u_name,password,sex,Email,QQ,phone,address,name2,photo)

,"+sex+"',这里很明显的少了一点吗

String sql="INSERT INTO userinformation VALUES(
'"+register_name+"','"+password1+"',"+sex+"','"+email+"','"+qq+"','"+phone+"',
'"+address+"','"+name2+"','"+photo+"')";

应该是 INSERT INTO userinformation aaa,bbb,ccc VALUES('"+aaa+"','"+bbb+"','"+ccc+"')
在VALUE的前面要加上字段名称

name 是关键字

注意一下你的","是中文下面输入的还是英文下面输入的,把register_name的下划线去掉试试(这个问题可能是您的粗心)
提供一个可以防止sql注入的方法;
String sql="insert into userinfomation values(?,?,?,?,?,?,?,?,?)";
String param[]={register_name,password1,sex,email,qq,phone,address,name2,photo};
PreparedStatement pstmt=con.prepareStatement(sql);
for(int i=0;i<param.length;i++){
pstmt.setString(i+1,param[i]);
}