如何将一个表的修改后的结果集更新回表,而且字段判断和更新修改的字段

zj2050 2008-07-27 04:59:09
大家好,

有一个结果集A, 现在修改了其中的一些内容,请问 如何将一个表的修改后的结果集更新回表,而且字段判断和更新修改的字段

谢谢
...全文
157 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
zj2050 2008-07-28
  • 打赏
  • 举报
回复
如果原来表里的数据很多,使用 select * from 这有效率

[Quote=引用 13 楼 hyde100 的回复:]
1).NET里数据适配器可以用。
2)DATASET里的TABLE里数据变化的时候,da.Update(changedDs, tableName),会自动更新相应的字段
[/Quote]
hyde100 2008-07-28
  • 打赏
  • 举报
回复
1).NET里数据适配器可以用。
2)DATASET里的TABLE里数据变化的时候,da.Update(changedDs, tableName),会自动更新相应的字段
zj2050 2008-07-28
  • 打赏
  • 举报
回复
顶起
zj2050 2008-07-28
  • 打赏
  • 举报
回复
判断后更新

请问这样行吗?

public bool UpdateWithDs(DataSet changedDs, string tableName)
{

try
{
Connection.Open();

string strSql = "select * from " + tableName;

SqlDataAdapter da = new SqlDataAdapter(strSql, Connection);

SqlCommandBuilder sqlCmdBuilder = new SqlCommandBuilder(da);

da.Update(changedDs, tableName);

changedDs.AcceptChanges();

return true;//返回更新了的数据库表

}

catch
{

// MessageBox.Show(ex.Message, "数据库更新失败");

return false;

}

}



[Quote=引用 8 楼 fcuandy 的回复:]
引用 4 楼 zj2050 的回复:
比如说,数据表中有字段 a1,a2,a3,a4,a5

结果集中有 a2,a4,a5

现在结果集中的有一个被改变了,请问我如何判断结果集中 哪一条有字段被修改了,如果修改了就更新回数据库

存储过程如何实现?

引用 1 楼 roger0705sally 的回复:
一种方式是:逐笔UPDATE的数据库表中。
另一种是:利用存储过程完成更新。


你是要更新,还是要判断?
[/Quote]
zj2050 2008-07-28
  • 打赏
  • 举报
回复
多谢

[Quote=引用 9 楼 M1CR0S0FT 的回复:]
顶~
[/Quote]
M1CR0S0FT 2008-07-28
  • 打赏
  • 举报
回复
顶~
fcuandy 2008-07-27
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 zj2050 的回复:]
比如说,数据表中有字段 a1,a2,a3,a4,a5

结果集中有 a2,a4,a5

现在结果集中的有一个被改变了,请问我如何判断结果集中 哪一条有字段被修改了,如果修改了就更新回数据库

存储过程如何实现?

引用 1 楼 roger0705sally 的回复:
一种方式是:逐笔UPDATE的数据库表中。
另一种是:利用存储过程完成更新。
[/Quote]

你是要更新,还是要判断?
hery2002 2008-07-27
  • 打赏
  • 举报
回复
3楼的链接里面有很多例子和源代码,
而且VB.NET和C#的都有,
楼主好好看看吧,
如果英文看起来比较痛苦的话,
你搜索一下那个scott mitchell 的asp.net 2.0数据教程,
很多人都把这个教程翻译成中文了的,
你找找看都有的 :)
zj2050 2008-07-27
  • 打赏
  • 举报
回复
你好,

最近才学习C#,很多不懂,请多执教,能提供一下代码支持吗? 谢谢


[Quote=引用 5 楼 hery2002 的回复:]
引用 4 楼 zj2050 的回复:
比如说,数据表中有字段 a1,a2,a3,a4,a5
结果集中有 a2,a4,a5
现在结果集中的有一个被改变了,请问我如何判断结果集中 哪一条有字段被修改了,如果修改了就更新回数据库
存储过程如何实现?
引用 1 楼 roger0705sally 的回复:
一种方式是:逐笔UPDATE的数据库表中。
另一种是:利用存储过程完成更新。

那就是3楼说的,批量更新,
这个不需要做存储过程来实现,
程序端都已经都给你封装…
[/Quote]
hery2002 2008-07-27
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 zj2050 的回复:]
比如说,数据表中有字段 a1,a2,a3,a4,a5
结果集中有 a2,a4,a5
现在结果集中的有一个被改变了,请问我如何判断结果集中 哪一条有字段被修改了,如果修改了就更新回数据库
存储过程如何实现?
引用 1 楼 roger0705sally 的回复:
一种方式是:逐笔UPDATE的数据库表中。
另一种是:利用存储过程完成更新。
[/Quote]
那就是3楼说的,批量更新,
这个不需要做存储过程来实现,
程序端都已经都给你封装好了,
不需要自己这么麻烦在来判断和比较,
看看那个例子先~~
zj2050 2008-07-27
  • 打赏
  • 举报
回复
比如说,数据表中有字段 a1,a2,a3,a4,a5

结果集中有 a2,a4,a5

现在结果集中的有一个被改变了,请问我如何判断结果集中 哪一条有字段被修改了,如果修改了就更新回数据库

存储过程如何实现?

[Quote=引用 1 楼 roger0705sally 的回复:]
一种方式是:逐笔UPDATE的数据库表中。
另一种是:利用存储过程完成更新。
[/Quote]
hery2002 2008-07-27
  • 打赏
  • 举报
回复
这个编程的问题吧,
和数据库没有多大关系,
是不是批量更新?
看看scott mitchell 的asp.net 2.0数据教程中的关于批量更新的例子就行了.
http://www.asp.net/learn/data-access/
水族杰纶 2008-07-27
  • 打赏
  • 举报
回复
说的不清楚,楼主最好在提问的同时赋予点数据以示说明~~
芸香传奇 2008-07-27
  • 打赏
  • 举报
回复
一种方式是:逐笔UPDATE的数据库表中。
另一种是:利用存储过程完成更新。

22,210

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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