string SqlUpdate = "Update ComputerAd Set ISNumber=@isnumber Where Id=@id";TextBox txtComputerId1 = (TextBox)e.Item.FindControl("txtComputerId");
TextBox TextBoxIsNumber1 = (TextBox)e.Item.FindControl("TextBoxIsNumber");SqlCommand UpdateCMD = new SqlCommand(SqlUpdate,MyConnection);
SqlParameter sqlparaComputerId = new SqlParameter("@id", SqlDbType.NVarChar, 50);
sqlparaComputerId.Value = txtComputerId1.Text;
UpdateCMD.Parameters.Add(sqlparaComputerId);

SqlParameter sqlparaIsNumber = new SqlParameter("@isnumber", SqlDbType.NVarChar, 50);
sqlparaIsNumber.Value = TextBoxIsNumber1.Text;
UpdateCMD.Parameters.Add(sqlparaIsNumber);MyConnection.Open();
UpdateCMD.ExecuteNonQuery();
MyConnection.Close();在执行UpdateCMD.ExecuteNonQuery();时出错异常详细信息: System.FormatException: 输入字符串的格式不正确。我不知道 格式哪里不对了 请高手指教

解决方案 »

  1.   

    SqlParameter sqlparaComputerId = new SqlParameter("@id", SqlDbType.NVarChar, 50);你的ID是nvarchar类型的吗?我看应该是不对吧,我是用想的,不知道你数据库里的是不是nvarchar.一般都是int类型的。不知道是不是你写错了。如果写错了,改成SqlParameter sqlparaComputerId = new SqlParameter("@id", SqlDbType.Int, 50);
      

  2.   

    不好意思应该是SqlParameter sqlparaComputerId = new SqlParameter("@id", SqlDbType.Int, 4);
      

  3.   

    Id nvarchar 50 0
    ISNumber nvarchar 50 0这是我的数据结构 我觉得没有错呀
      

  4.   

    检查一下txtComputerId1.Text 和 TextBoxIsNumber1.Text 值是否为空
      

  5.   

    改sqlparaIsNumber.Value = TextBoxIsNumber1.Text
    为sqlparaIsNumber.Value = TextBoxIsNumber1.Text.trim
    看行不
      

  6.   

    SqlParameter sqlparaIsNumber = new SqlParameter("@isnumber", SqlDbType.NVarChar,"50");
    这样试试