首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

用户注册有关问题

2012-01-20 
用户注册问题sqlinsertintousers(uid,username,userpwd,E_mail) sqlsql+Values( sqlsql++id+

用户注册问题
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
楼主你比较一下

[解决办法]
数据库里设置的字段长度太短了

热点排行