c# - 无法让我的更新工作

标签 c# asp.net sql

我正在使用存储过程来更新托运编号 = @consignmentnumber 的列中的行。

这是代码的屏幕。 我想我遗漏了一些东西,但我无法解决我实际上遗漏的问题,有人可以帮忙吗?

protected void BtnReceived_Click(object sender, EventArgs e)
{
    IncrementStatusOfConsignment(sender);
}

private static void IncrementStatusOfConsignment(object sender)
{
    var button = (Button) sender;
    var gridviewrow = (GridViewRow) button.Parent.Parent;
    var consignmentnumber = gridviewrow.Cells[3].Text;

    using (var con = new SqlConnection(ConfigurationManager.ConnectionStrings["Test"].ConnectionString))
    {
        con.Open();
        using (var cmd = new SqlCommand("Test", con))
        {
            cmd.CommandType = CommandType.StoredProcedure;
            var sqlparam = cmd.Parameters.Add("@consignmentnumber", SqlDbType.VarChar);
            sqlparam.Value = consignmentnumber;
            cmd.ExecuteNonQuery();
        }
    }
}

谁能告诉我哪里做错了或遗漏了什么?

我经常收到这个错误: error

如果我将参数设置为 Int,它仍然不起作用。

最佳答案

如果您已将 consignmentnumber 列声明为 Numeric(18, 0),则

var sqlparam = cmd.Parameters.Add("@consignmentnumber", SqlDbType.Decimal);
sqlparam.Value = consignmentnumber;

类似的东西:

var sqlparam = cmd.Parameters.Add("@consignmentnumber", SqlDbType.NVarChar, 18);
sqlparam.Value = consignmentnumber;

关于c# - 无法让我的更新工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23382143/

相关文章:

c# - 如何使用字符串评估数据集 ASP.NET C#

asp.net - ASP.NET MVC2中Ajax表单的错误重定向

c# - 通过单击 asp.net 中的按钮在网格中添加多行

java - 将重复值导入到 Java 折线图中

c# - 扩展asp.net的c#文本框控件

asp.net - 如何将文本附加到数据绑定(bind)字段?

php - 如何从 2 个表 SQL 的连接中获取一列

c# - Access DB 说我的日期时间错误

c# - 如何在点击事件中绘制图像?

Windows Phone 7 上的 C# 编译器?