c#中关于sqldataadapter的update(datatable)方法

勇敢地追 勇敢地追     2022-10-22     650

关键词:

C#用来更新数据库的方式有两种(暂时我知道两种)一种就是sql语句的update,第二种就是我接下来要说的SqlDataAdapter的Update()方法。

运用SqlDataAdapter的Update()方法可以很方便的将对一张数据表进行大量修改。大致做法如下:
首先定义一个SqlDataAdapter

SqlDataAdapter adapter = new SqlDataAdapter(strQuery, conn);

其中StrQuery是查询语句,conn是一个SqlConnection。
然后定义一个SqlCommandBuilder

SqlCommandBuilder thisBuilder = new SqlCommandBuilder(adapter );

一开始我不知道这句有啥用,就没写,然后报错。参考请看:http://blog.163.com/kongdelu2009@yeah/blog/static/111995207200932111175638/
这个SqlCommandBuilder用来自动生成添加、删除、修改的语句,注意这个参数是刚才建立的SqlDataAdapter。
然后我们可以调用SqlDataAdapter的Fill()方法,将查询出来的数据表内容填充的一张DataTable里面:

thisAdapter.Fill(ds, "TableName");

ds就是dataSet。然后我们可以对这张DataTable进行一些添加、删除、修改操作,然后调用Update()方法,将这些对DataTable进行的更改批量更新到数据库对应的表中:

thisAdapter.Update(ds, "TableName");

参考资料:http://blog.sina.com.cn/s/blog_4dde37650100g8fe.html

使用 SqlDataAdapter.Update 方法时复制表行

】使用SqlDataAdapter.Update方法时复制表行【英文标题】:DuplicatingtablerowswhenusingSqlDataAdapter.UpdateMethod【发布时间】:2013-11-0403:08:40【问题描述】:在我的项目中,我有表格“产品”。IDNamePrice------------------1xyz1002abc2003pqr300在我的c#代... 查看详情

SqlDataAdapter.Update(数据表)不工作(不更新数据库)

】SqlDataAdapter.Update(数据表)不工作(不更新数据库)【英文标题】:SqlDataAdapter.Update(datatable)isnotworking(notupdatingthedatabase)【发布时间】:2016-04-0516:34:30【问题描述】:我有下面的代码,我试图从Windows应用程序中所做的c#网格视... 查看详情

c#中关于UCCAPI的说明

】c#中关于UCCAPI的说明【英文标题】:ClarificationaboutUCCAPIinc#【发布时间】:2011-01-1706:58:55【问题描述】:使用UCCAPI可以识别消息是通过哪个客户端发送的,例如:如果我通过MicrosoftOfficeCommunicator(MOC)或自定义客户端接收消息如果... 查看详情

使用带参数的 SqlDataAdapter.Update()

】使用带参数的SqlDataAdapter.Update()【英文标题】:UsingSqlDataAdapter.Update()withParameters【发布时间】:2011-08-2614:20:32【问题描述】:如何尝试通过参数化查询找出如何使用SqlDataAdapter.Update(DataTable)方法。如何在不遍历整个DataTable的情... 查看详情

SqlDataAdapter.Update 未更新

】SqlDataAdapter.Update未更新【英文标题】:SqlDataAdapter.Updatenotupdating【发布时间】:2015-10-2119:34:29【问题描述】:(我应该说我对vb.net相当陌生)我在覆盖我的数据库中的条目时遇到问题。我认为问题在于SqlDataAdapter.Update没有用我... 查看详情

c#中关于时间函数的整理

    闲来无事,为了加深自己的印象,在此对c#中的时间函数进行整理,为了能够方便别人,也同时方便自己。    在编写代码中,我们往往在很多时候需要用到时间函数。俗话说,孰能生巧,但是当... 查看详情

200万条记录的SqlDataAdapter.Update()速度极慢

】200万条记录的SqlDataAdapter.Update()速度极慢【英文标题】:SqlDataAdapter.Update()of2millionrecordsisextremelyslow【发布时间】:2019-04-3009:22:51【问题描述】:我有一个客户希望每天将他的子客户价格工具(超过2.000.000条记录)导入SQLServer数... 查看详情

c#中关于toolstripstatuslable

我在ToolStripStatusLable中把它的Text该为我爱你,中国请问怎么能实现文字的左右移动,(是在窗体的最下面)谢谢,这个问题郁闷好久了...lable中实现左右移动,你很有想法,就是不知道能不能是实现。来个假移动的吧。用timer,每隔一段... 查看详情

c#中关于值类型和引用类型的个人理解

值类型,除了最终继承自Object,还继承自ValueType值类型继承ValueType,ValueType继承Object。(c#中所有的类型都最终继承自Object) 创建引用类型时,runtime会为其分配两个空间,一块空间分配在堆上,存储引用类型本身的数据,另... 查看详情

c#中关于数据集dataset和dataadpter的问题

我的问题比较大(可能高手觉得比较菜,小弟刚学希望可以得到大虾们的帮助啊!)我翻阅了好多材料,不是很明白dataset和dataadpter,问题有几个如下:1.当程序进行到填充dataadpter.fill(数据集对象,数据集中的表名)时候请问是否数... 查看详情

在 SqlDataAdapter.Update() 中获取错误消息

】在SqlDataAdapter.Update()中获取错误消息【英文标题】:GettingerrormessageinSqlDataAdapter.Update()【发布时间】:2016-07-1419:43:38【问题描述】:我有一个数据库表(在本例中为空)createtablewords(idintnotnull,wordnvarchar(50)notnull)还有一个DataGridVie... 查看详情

SqlDataAdapter.update() 不更新数据库

】SqlDataAdapter.update()不更新数据库【英文标题】:SqlDataAdapter.update()notupdatingdatabase【发布时间】:2015-04-0704:22:47【问题描述】:我正在使用SqlDataAdapter在PostLikes表中搜索(PostId,UserId),如果找到该行,我正在使用SqlCommandBuilder.GetDelet... 查看详情

SqlDataAdapter.Update 直到第二次更新才写入表

】SqlDataAdapter.Update直到第二次更新才写入表【英文标题】:SqlDataAdapter.Updatenotwritingtotableuntilsecondupdate【发布时间】:2014-08-0201:15:03【问题描述】:我有一个用C#2010Express开发的程序,它的表单由一个DataGridView组成,下面有一个单... 查看详情

SqlDataAdapter.Update(dataset) 方法插入新行但不更新现有行

】SqlDataAdapter.Update(dataset)方法插入新行但不更新现有行【英文标题】:SqlDataAdapter.Update(dataset)methodinsertsnewrowsbutdoesnotupdatesexistingrows【发布时间】:2014-06-0114:56:49【问题描述】:我正在创建具有DataGrigView来呈现表格的winform应用程... 查看详情

当 RowState = Modified 时 SQLDataAdapter.Update() 不更新

】当RowState=Modified时SQLDataAdapter.Update()不更新【英文标题】:SQLDataAdapter.Update()notUpdatingwhenRowState=Modified【发布时间】:2018-05-1516:41:39【问题描述】:我正在尝试设置一个程序,当用户更新项目描述时,将在保存表单时更新数据库... 查看详情

c#中关于协变性和逆变性(又叫抗变)详解

  今天回忆了之前看的《深入理解C#》这本书中的泛型章节,其中对泛型的可变性的理解。泛型可变性分两种:协变和逆变。逆变也又称为抗变。 怎么理解这两个名词的意思:  ①:协变即为在泛型接口类型中使用out标识... 查看详情

C# SqlDataAdapter 不填充数据集

】C#SqlDataAdapter不填充数据集【英文标题】:C#SqlDataAdapternotpopulatingDataSet【发布时间】:2010-04-2017:16:12【问题描述】:我已经搜索了网络并搜索了网络,但并没有完全找到我可能遇到的问题。我目前在获取SqlDataAdapter来填充DataSet... 查看详情

C# SqlDataAdapter 与来自多个数据库的表的 JOIN

】C#SqlDataAdapter与来自多个数据库的表的JOIN【英文标题】:C#SqlDataAdapterwithJOINoftablesfrommultipledatabases【发布时间】:2020-04-1512:22:58【问题描述】:由于定义SqlDataAdapter的sintax是:SqlDataAdapteradapter=newSqlDataAdapter(querystring,connectionstring) 查看详情