我有个问题  string sql = string.Format("insert into News_Info Values('{0}','{1}','{2}','{3}','{4}')",GetID,txt_Title,txt_Text,GetTime,txt_Rank);
        SqlCommand cmd = new SqlCommand(sql, conn);
        int x = 0;
        x = cmd.ExecuteNonQuery();
       
        if (x > 0)
        {
            Label3.Text="添加成功!";
           
        }
        else
        {
            Label3.Text="添加失败!";
           
        }
执行到 x = cmd.ExecuteNonQuery();的时候会报错说String or binary data would be truncated.
The statement has been terminated.但是我直接插入从数据库插入数据的话,是没有问题的,为什么啊?

解决方案 »

  1.   

    新手路过 请教楼主:
    GetID,txt_Title,txt_Text,GetTime,txt_Rank 是字段名吗?
      

  2.   

    这个Insert语句怎样理解呀?
    要插入的 属性值 在哪里呀?
      

  3.   

    在数据库里面插入能成功,程序里面不能,而你的sqlcommand语句是没错的,那应该是你数据库的链接状态有问题了。添加监视查看一下你的数据库的链接状态啊,
      

  4.   

    调试把断点放在SqlCommand cmd = new SqlCommand(sql, conn);看看sql的值,把这个值直接放在查询分析器里面执行看报错不。
    多半是列名搞错了,长度超出了。
    你的News_Info 是否只有那5个字段,按照一般习惯在insert into News_Info(这里把列名写上) values(...)
      

  5.   

    监听下你的sql字符串,复制到SQL server里面运行下看有问题没~
    我看你有时间类型,你在时间字段那里'{3}' 不要加双引号试试。多多调试
      

  6.   

    insert into News_Info(字段名) values(值)