【发布时间】:2014-04-30 07:29:12
【问题描述】:
我正在使用存储过程来更新托运编号 = @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();
}
}
}
谁能告诉我哪里出了问题或者我错过了什么?
我经常收到此错误:
如果我将参数设置为 Int,它仍然不起作用。
【问题讨论】:
-
您确定将您的
consignmentnumber定义为存储过程中的字符吗?闻起来像你在你的 sp.. 中定义为整数类型。 -
我无法查看提供的链接中的图像。您遇到的错误是什么,您可以在问题中粘贴。
-
正如 soner 已经说过的,看起来您的参数类型错误,如果您不将其转换为 int,
consignmentnumber的值是多少?还有你在更新什么?我看不到任何值被传递到 SP。 -
存储过程中
@consignmentnumber是什么数据类型? -
@dasariramacharanprasad 我已经编辑了问题以包含嵌入图像,OP 包含了网络链接而不是源图像 URL。