首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >DataAdapter.UpdateCommand不工作c#?

DataAdapter.UpdateCommand不工作c#?
EN

Stack Overflow用户
提问于 2013-02-05 20:15:43
回答 2查看 727关注 0票数 0

我正在使用此代码更新数据库中表中的“某些”列。但每次我尝试这样做,都会出现一个错误。

一个或多个所需参数没有给定值.

代码语言:javascript
复制
con.Open();
SlipDA = new OleDbDataAdapter();
string sqlUpdate = "Update tbl_Slip SET RaiseBasic=@RaiseBasic, OtherDed=@OtherDed, Arrears=@Arrears, Notes=@Notes WHERE SlipNo=@SlipNo";

SlipDA.UpdateCommand = new OleDbCommand(sqlUpdate, con);
SlipDA.UpdateCommand.Parameters.AddWithValue("@RaiseBasic", Convert.ToInt32(dRow[4].ToString()));
SlipDA.UpdateCommand.Parameters.AddWithValue("@OtherDed", Convert.ToInt32(dRow[5].ToString()));
SlipDA.UpdateCommand.Parameters.AddWithValue("@Arrears", Convert.ToInt32(dRow[7].ToString()));
SlipDA.UpdateCommand.Parameters.AddWithValue("@Notes", dRow[8].ToString());
SlipDA.UpdateCommand.Parameters.AddWithValue("@SlipNo", dRow[0].ToString());

SlipDA.UpdateCommand.ExecuteNonQuery();
con.Close();

该表包含9个列,但我只想更新几个列。

EN

回答 2

Stack Overflow用户

发布于 2013-02-05 20:43:57

这可能是问题所在:

OLE DB .NET提供程序不支持将参数传递给OleDbCommand在将CommandType设置为文本时调用的参数或存储过程的命名参数。在这种情况下,问号(?)必须使用占位符。例如:从客户处选择* CustomerID =?

来源:

因此,基本上您的查询应该如下所示:

代码语言:javascript
复制
string sqlUpdate = "Update tbl_Slip SET RaiseBasic= ?, OtherDed= ?, Arrears= ?, Notes= ? WHERE SlipNo= ?";
票数 2
EN

Stack Overflow用户

发布于 2013-08-20 18:25:22

尝尝这个

代码语言:javascript
复制
    string sqlUpdate = "Update tbl_Slip SET RaiseBasic=@RaiseBasic, OtherDed=@OtherDed, Arrears=@Arrears, Notes=@Notes WHERE SlipNo=@SlipNo";

    OleDbCommand UpdateCommand = new OleDbCommand(sqlUpdate, con);
    UpdateCommand.Parameters.AddWithValue("@RaiseBasic", Convert.ToInt32(dRow[4].ToString()));
    UpdateCommand.Parameters.AddWithValue("@OtherDed", Convert.ToInt32(dRow[5].ToString()));
    UpdateCommand.Parameters.AddWithValue("@Arrears", Convert.ToInt32(dRow[7].ToString()));
    UpdateCommand.Parameters.AddWithValue("@Notes", dRow[8].ToString());
    UpdateCommand.Parameters.AddWithValue("@SlipNo", dRow[0].ToString());

    con.Open();
    UpdateCommand.ExecuteNonQuery();
    con.Close();
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14716103

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档