Junegreat
焚寂六月
2017-04-24 11:21
采纳率: 64.7%
浏览 1.9k

System.Data.SqlClient.SqlException: 将截断字符串或二进制数据

我的数据库插入字符串写成如下,在ASP.NET中执行后,显示异常详细信息: System.Data.SqlClient.SqlException: 将截断字符串或二进制数据。
语句已终止。

```string insertAdminInfo = string.Format("insert into Administrator (admin_ID,admin_name,admin_sex,admin_position,admin_psw,admin_tel,admin_office) values ({0},'{1}','{2}','{3}','{4}','{5}','{6}')",int.Parse(this.txbadminIDAdd.Text),this.txbadminNameAdd.Text,this.drladminSex.SelectedValue,this.txbadminPos.Text,password,this.txbadminTel,this.txbadminOff.Text);

除了admin_sex 在数据库中是nvarchar(1),其它的字符串都是nvarchar(32),输入的数据都只有一个字符,保证没有超过范围,我感觉还是admin_sex这里出了问题,不知道怎么回事,我的这个插入字符串写的不对吗
在数据库中直接写insert into Administrator (admin_ID,admin_name,admin_sex,admin_position,admin_psw,admin_tel,admin_office) values (10003,'张三','男','教授','12','1','99')是可以的,但是在C#中写了如上的操作字符串后就不行
  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

2条回答 默认 最新

  • showbo
    已采纳

    是不是前后有空白超过长度了,自己断点看insertAdminInfo 内容是什么放入数据库执行就行了

    点赞 评论
  • guwei4037
    guwei4037 2017-04-24 11:24

    数据库长度不够造成的,admin_sex长度超出了定义的nvarchar(1)长度。

    点赞 评论

相关推荐