关于使用数据适配器更新数据的问题, 期待中

CsLover 2002-08-31 01:50:11
在这里看到一个帖子里说MSDN里有 《使用 DataAdapter 和 DataSet 更新数据库》一文 我看了一下 照着例子做了一下 例子里的方法不能让我随心的更新任意的一个Row 具体的说 我无法控制哪个记录被更新 源码附上 请高手指教一下如何可以随心所欲的更新记录

[C#]
SqlDataAdapter catDA = new SqlDataAdapter("SELECT CategoryID, CategoryName FROM Categories", nwindConn);

catDA.UpdateCommand = new SqlCommand("UPDATE Categories SET CategoryName = @CategoryName " +
"WHERE CategoryID = @CategoryID" , nwindConn);

catDA.UpdateCommand.Parameters.Add("@CategoryName", SqlDbType.NVarChar, 15, "CategoryName");

SqlParameter workParm = catDA.UpdateCommand.Parameters.Add("@CategoryID", SqlDbType.Int);
workParm.SourceColumn = "CategoryID";
workParm.SourceVersion = DataRowVersion.Original;

DataSet catDS = new DataSet();
catDA.Fill(catDS, "Categories");

DataRow cRow = catDS.Tables["Categories"].Rows[0];
cRow["CategoryName"] = "New Category";

catDA.Update(catDS);
...全文
42 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
pjy 2002-09-02
  • 打赏
  • 举报
回复
修改的CODE没错,你自己定位修改的记录就可以了!
你是这样定位的?
如果你是不停的按F5,可能系统自己维护的记录是一条条向下造成了结果。
CsLover 2002-08-31
  • 打赏
  • 举报
回复
错误没有
只是更新的记录每次都是这次被更新的下一条
比如 我这次按F5调试 被更新的是第三条记录
下一次按F5就是第四条记录被更新
下一次的第五条
似乎被更新的不能更新了
是那个workParm.SourceVersion = DataRowVersion.Original决定的嘛??
manboo 2002-08-31
  • 打赏
  • 举报
回复
什么错误阿!?

110,534

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧