数据库中表的行不能删除也不能更新,只能重新插入一行。
修改里面的数据时会出现消息框:
未更新任何行。 
错误源: .Net SqlClient Data Provider
错误信息:在将varchar型数据‘Send’转换成Int时失败说明:Send是表中的一个字段,为Int型。             不知道该错误是否与程序有关,程序中有这样一句:
            string a="";
            if (Convert.ToBoolean(sdr["Send"]))
            {
                a = a + "配送";
            }
       我个人认为应该不是程序的原因吧,我将Convert.ToBoolean改为Convert.ToInt32还是出现相同的问题。

解决方案 »

  1.   

    当然是你程序问题了
     
     string a="";
      if (!string.IsNullOrEmpty(sdr["Send"].ToString()))
      {
          a = a + "配送";
      }
      

  2.   


        taomanman,我改成你那样了还是出现同样的问题啊!!感觉不是程序的问题 ,数据库表里的行不能删除或者更新,应该是数据库字段哪里的问题吧
      

  3.   


    涉及到Send这个字段的只有这么两句:  string appendServer = "";
      if (Convert.ToBoolean(sdr["Send"]))
                {
                   appendServer = appendServer + "配送";
                }
      

  4.   

    sdr["Send"]的这个代码你是怎么写的??上面的那个不行的话,就说明你SQL Server数据库中Send字段的内容你不是varchar型的嘛,里面的数据肯定包含字符之类的,导致无法转换成int,你先查看下数据库中该字段对应的记录中数据格式是否正确。
      

  5.   

    我数据库表里的Send字段千真万确就是int型的啊!!!!!!!
     为什么报那样的错误呢!真是不能理解啊!~~~~(>_<)~~~~ 
      

  6.   

    断点看看sdr["Send"]的值。这样就可以确定问题所在了。
      

  7.   

    在将varchar型数据‘Send’转换成Int时失败!还是你字段取错了??
      

  8.   


     “字段取错了”是什么意思啊?
      我的数据库表中Send就是Int型的,不明白为什么报错说varchar型数据Send!苦恼啊 
      

  9.   


    敢断点调试,看看sdr["Send"]的值吗?
    如果你数据库拿到的值是""的话,你这样convert也会发生异常啊!
      

  10.   

     我试过了不能直接是sdr["Send"],前面必须加上Convert.to....  
      我改为Convert.ToInt32(sdr["Send"])时,显示为1
         改为Convert.ToInt32(sdr["Send"])时,显示为True
      

  11.   

      我的数据库表中Send明明就是Int型的,不明白为什么报错说是 varchar型数据Send