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

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#中写了如上的操作字符串后就不行

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

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