提交表单数据是出现该错误怎么修改
错误的信息是----------java.sql.SQLException: [Microsoft][SQLServer 2000 Driver for JDBC][SQLServer]将截断字符串或二进制数据
user表:create table users(
userid bigint primary key identity,
username varchar(30) not null unique,
truename varchar(30) not null,
passwd varchar(30) not null,
email varchar(40) not null,
phone varchar(20) not null,
address varchar(50) not null,
postcode char(6) not null,
grade int default 1
) String sql = "update users set truename='"+truename+"',address='"+address+
"',phone='"+phone+"',email='"+email+"',postcode="+postcode+" where userid="+id; jsp页面修改用户信息,比如用户的真实姓名truename是:“张小三”,改为“张三”,则报错:
java.sql.SQLException: [Microsoft][SQLServer 2000 Driver for JDBC][SQLServer]将截断字符串或二进制数据
为什么?
错误的信息是----------java.sql.SQLException: [Microsoft][SQLServer 2000 Driver for JDBC][SQLServer]将截断字符串或二进制数据
user表:create table users(
userid bigint primary key identity,
username varchar(30) not null unique,
truename varchar(30) not null,
passwd varchar(30) not null,
email varchar(40) not null,
phone varchar(20) not null,
address varchar(50) not null,
postcode char(6) not null,
grade int default 1
) String sql = "update users set truename='"+truename+"',address='"+address+
"',phone='"+phone+"',email='"+email+"',postcode="+postcode+" where userid="+id; jsp页面修改用户信息,比如用户的真实姓名truename是:“张小三”,改为“张三”,则报错:
java.sql.SQLException: [Microsoft][SQLServer 2000 Driver for JDBC][SQLServer]将截断字符串或二进制数据
为什么?
"',phone='"+phone+"',email='"+email+"',postcode="+postcode+" where userid="+id; 其中某个参数值 超过了数据库中定义的长度
另外postcode 也是字符串 为啥没用单引号呢
建议 用 System.out 输出 sql 的值,马上可以看出原因
比如用户的真实姓名truename是:“张小三”,改为“张三”,则报错从大改为小.一定不是长度问题,差不多是编码问题,你可以先试试英文.
还有怎么写SQL会被注入的.性能也不好.