焚寂六月 2017-04-24 11:21 采纳率: 64.7%
浏览 2089
已采纳

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条回答 默认 最新

  • Go 旅城通票 2017-04-24 12:19
    关注

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

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
  • 全栈极简 博客专家认证 2017-04-24 11:24
    关注

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

    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 vue+element 生成table
  • ¥15 实验 4 FIFO 算法和 LRU 算法-C 程序实现
  • ¥30 电脑画面同步投屏,通过同wifi的方式投屏方法,接收投屏端不需要安装第三方软件,
  • ¥15 有偿拼接大疆精灵4RGB影像
  • ¥15 MATLAB特殊符号
  • ¥15 Arduino实现音频混响
  • ¥15 cuda.jit加速报错
  • ¥15 Octave 安装工具箱出错 Only Win32 target is supported!
  • ¥15 docker save的不能在另一台设备运行
  • ¥15 Unity Animation Rigging使用问题