用户注册问题
sql = "insert into users(uid,username,userpwd,E_mail) ";
sql = sql + " Values( ";
sql = sql + " ' " + id + " ', ";
sql = sql + " ' " + name + " ', ";
sql = sql + " ' " + passwd + " ', ";
sql = sql + " ' " + E_mail + " ') ";
comm = new SqlCommand(sql, Conn);
comm.ExecuteNonQuery();
dr.Close();
sql1 = "insert into usertemp(zsname,sex,mobile,dianhua,tongxun,post) ";
sql1 = sql1 + " Values( ";
sql1 = sql1 + " ' " + zs + " ', ";
sql1 = sql1 + " ' " + sex + " ', ";
sql1 = sql1 + " ' " + moblie + " ', ";
sql1 = sql1 + " ' " + dh + " ', ";
sql1 = sql1 + " ' " + tx + " ', ";
sql1 = sql1 + " ' " + post + " ') ";
comm = new SqlCommand(sql1, Conn);
comm.ExecuteNonQuery();
dr.Close();
label1.Text = "注册成功! ";
Session[ "username "] = name;
异常详细信息: System.Data.SqlClient.SqlException: 将截断字符串或二进制数据。
语句已终止。
源错误:
行 88: sql1 = sql1 + " ' " + post + " ') ";
行 89: comm = new SqlCommand(sql1, Conn);
行 90: comm.ExecuteNonQuery();
行 91: dr.Close();
行 92:
[解决办法]
//这样是不是好些
sql1 = string.Format(
"insert into usertemp(zsname,sex,mobile,dianhua,tongxun,post) " +
"values( '{0} ', '{1} ', '{2} ', '{3} ', '{4} ', '{5} ') ",
zs, sex, moblie, dh, tx, post);
[解决办法]
会不会是数据库设置的问题,变量是否设置为varchar, 和char 型是有区别的!
[解决办法]
数据库字段长度设置过短
检查一下数据库那边
另外
LZ的字符串拼接 如果换成 StringBuilder 效率更高
不过不管换不换,这种凭借 SQL 语句都是极其不安全的
建议看看什么叫 SQL 注入式攻击
使用参数化的存储过程更为妥当
[解决办法]
你去看看你的数据库里的字段长度一定小于输入的长度了。。去看看数据库吧
[解决办法]
select * from biao where a= ' "+this.textBox1.Text
select * from biao where a= ' "+this.textBox1.Text+ " '
this.textBox1.Text=a
this.textBox1.Text=a;delete biao
楼主你比较一下
[解决办法]
数据库里设置的字段长度太短了