SqlCommandBuilder批量更新数据

Delphi批量更新SQL数据库内容..rar 立即下载

public static void ADOUpdate()
        {
            
using (SqlConnection conn = new SqlConnection())
            {
                conn.ConnectionString 
= "server=.;uid=huashanlin;pwd=123;database=DB;";
                conn.Open();
                DataSet ds 
= new DataSet();
                SqlDataAdapter sda 
= new SqlDataAdapter("select * from [msg]", conn);
                
//使用关联的 System.Data.SqlClient.SqlDataAdapter 对象初始化 System.Data.SqlClient.SqlCommandBuilder类的新实例。
                SqlCommandBuilder Builder = new SqlCommandBuilder(sda);

                SqlCommand cmd 
= Builder.GetUpdateCommand();
                Console.WriteLine(cmd.CommandText.ToString());

                cmd 
= Builder.GetDeleteCommand();
                Console.WriteLine(cmd.CommandText.ToString());

                cmd 
= Builder.GetInsertCommand();
                Console.WriteLine(cmd.CommandText.ToString());
                
//使用DataAdapter讲查询到的数据表填充到DataSet中,命名为"A"
                sda.Fill(ds, "A");

                
//以下更改DataTabe中的数据
                DataTable dt = ds.Tables["A"];
                
//编辑DataTable的某一行
                DataRow dr = ds.Tables[0].Rows[1];
                dr.BeginEdit();
                dr[
1] = "test";
                dr[
"Email"] = "tet@mm.com";
                dr.EndEdit();
                
//为DataTable增加一行
                DataRow dr2 = dt.NewRow();
                dr2[
0] = "bai";
                dr2[
"content"] = "痴2";
                dr2[
2] = "黑@kai.cn";
                dt.Rows.Add(dr2);
                
//修改datatable结束

 

                
//     为具有指定 System.Data.DataTable 名称的 System.Data.DataSet 中每个已插入、已更新或已删除的行调用相应的
                
//     INSERT、UPDATE 或 DELETE 语句。
                
//而相应的增删改语句则是由上面的SqlCommandBuilder的示例来完成的
                sda.Update(ds, "A");

 


                
//释放所有资源
                Builder.Dispose();
                ds.Dispose();
                sda.Dispose();
                conn.Close();

                Console.WriteLine(
"更新成功!");
            }
        }


这里需要特别强调的是SqlCommandBuilder 将DataTable的数据更新回sql数据库中时,sql数据库中对应的表必须要有主键

SqlDataAdapter 不会自动生成实现 DataSet 的更改与关联的 SQL Server 实例之间的协调所需的 Transact-SQL 语句。但是,如果设置了 SqlDataAdapter 的 SelectCommand 属性,则可以创建一个 SqlCommandBuilder 对象来自动生成用于单表更新的 Transact-SQL 语句。然后,SqlCommandBuilder 将生成其他任何未设置的 Transact-SQL 语句。

每当设置了 DataAdapter 属性,SqlCommandBuilder 就将其本身注册为 RowUpdating 事件的侦听器。一次只能将一个 SqlDataAdapter 与一个 SqlCommandBuilder 对象(或相反)互相关联。

为了生成 INSERT、UPDATE 或 DELETE 语句,SqlCommandBuilder 会自动使用 SelectCommand 属性来检索所需的元数据集。如果在检索到元数据后(例如在第一次更新后)更改 SelectCommand,则应调用 RefreshSchema 方法来更新元数据。

SelectCommand 还必须至少返回一个主键列或唯一的列。如果什么都没有返回,就会产生 InvalidOperation 异常,不生成命令。

SqlCommandBuilder 还使用由 SelectCommand 引用的 Connection、CommandTimeout 和 Transaction 属性。如果修改了这些属性中的一个或多个,或者替换了 SelectCommand 本身,用户则应调用 RefreshSchema。否则,InsertCommand、UpdateCommand 和 DeleteCommand 属性都保留它们以前的值。

如果调用 Dispose,则会解除 SqlCommandBuilder 与 SqlDataAdapter 的关联,并且不再使用生成的命令。


Delphi批量更新SQL数据库内容 摘要:Delphi源码,数据库应用,批量更新 Delphi批量更新SQL数据库内容,批量更新数据的Delphi实例,文件夹Database下包括两个文件:DelphiClassical200 _Data.MDF、DelphiClassical200 _Log.LDF为数据库附加文件。测试前请附加到SQLServer中,并定义好数据库连接字符串信息。 运行环境:Delphi+MSSQL 立即下载

相关推荐

IsaacGym四足机器人sim to real全过程详细解析(walk these ways方法)

本文使用强化学习的方法运行到Aliengo机器人上完成从训练到部署的全过程。该方法使用的是GO1机器人提供了完整的sim to real代码和遥控器控制代码,所以我们只需要重新训练和部署健康就可以使用在Aliengo上。该方法使用lcm进行通讯首先程序通过UDP和机器人控制板进行通讯获取机器人状态并下达指令。然后又通过lcm进行机器人状态信息的发布和模型命令的获取。

weixin_44061195的博客 2万+

【C#】使用System.Data.SqlClient 进行简单批量操作

在实际项目开发中,可能会在定时任务里进行批量添加的操作,或者需要写一些小工具进行批量添加测试。 此篇文章就是使用System.Data.SqlClient 进行简单批量操作。

小5聊的博客 2696

Crawl4AI实战:5分钟搞定电商价格监控爬虫(附Python代码)

本文详细介绍了如何利用开源AI网络爬虫框架Crawl4AI快速构建电商价格监控系统。通过Python实战代码,展示了从环境配置、智能内容提取到多平台适配、定时任务与数据可视化的完整流程,帮助运营人员和技术开发者高效实现自动化价格追踪与竞品分析。

weixin_29090917的博客 413

动态组合SQL语句方式实现批量更新

Default.aspx View Code <%@ Page Language="C#" AutoEventWireup="true" CodeFile="Index.aspx.cs" Inherits="Index" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "htt...

weixin_30300225的博客 266

Xilinx HydraMini试玩教程

HydraMini是Xilinx推出的基于Pynq-Z2开发板的自动驾驶开发小车,其有着简单易学、高灵活性、高扩展性、高性能等优良特性,是研究人员和学生进入自动驾驶领域的一个平台。本教程会通过最基础的讲解和步骤带领读者熟悉这个平台的基本开发流程。

qq_25762163的博客 1772

水很深的深度学习(四): 卷积神经网络CNN

深度学习-CNN,卷积神经网络的概念 上世纪60年代,Hubel等人通过对猫视觉皮层细胞的研究,提出了感受野这个概念,到80年代,Fukushima在感受野概念的基础之上提出了神经认知机的概念,可以看作是卷积神经网络的第一个实现网络,神经认知机将一个视觉模式分解成许多子模式(特征),然后进入分层递阶式相连的特征平面进行处理

专注大数据与人工智能技术分享,欢迎私信加群互相学习! 3620

SqlDataAdapter的用法

SqlDataAdapter是DataSet和 数据库的连接(桥接器),用于检索和保存数据,SqlDataAdaoter通过对数据源使用适当的Transact-SQL语句映射File(他作为填充DataSet的数据源中的数据)和Update(更改DataSet中的数据源)提供一种桥接方式,当SqlDataAdapter填充DataSet时,他为返回的数据创建必须的表和列 第一种方式(字符串查询) string strCon =“uid=sa;pwd=123456;database=test;server=1

caiweijiancsdn的博客 4250

uniapp [安卓苹果App端] - 详细实现自定义水印相机功能,调用手机摄像头打开相机并在周围悬挂自定义水印,使用相机拍照后添加水印文字或样式,uniapp APP端水印相机完整源码,兼容强大可靠

uni-app,安卓Android,苹果ios,安卓app端,苹果App端,uniapp苹果app,水印相机,uniapp水印相机,Uniapp安卓app实现水印相机,uniapp苹果ios水印相机,打开系统相机拍照添加水印,地点打卡相机,水印相机(水印照片,图片加水印),uniapp自定义水印相机,制作水印相机给图片添加水印并且保存图片至本地,uniapp拍照图片加水印,水印相机功能,手机调起摄像头拍照时自动插入文字、图片动态水印效果,支持水印显示拍摄者当前城市定位、自由调整水印大小和位置,手机拍照时

🏆 前端领域优质创作者 1万+

C#中DataSet、SqlDataAdapter的使用-关于数据库操作

DataSet表示数据在内存中的缓存。 我的理解是,在内存中的数据表,需要引用using System.Data; SqlDataAdapter表示用于填充 DataSet 和更新 SQL Server 数据库的一组数据命令和一个数据库连接。 此类不能被继承。 暂时知道的用法是使用它进行数据库查询操作,之后将查询到的结果填充给DataSet对象。 A simple example of using

薛定谔的猫窝 1万+

链路状态路由协议 OSPF (一)

本章将会学习链路状态路由协议OSPF,理解OSPF的基本概念,工作原理,掌握OSPF配置基本命令。本章重点,OSPF的基本概念,OSPF配置。

yj11290301的博客 3474

使用 MATLAB/Simulink 构建一个电机-液压联合控制系统的仿真模型

本文详细介绍了基于Simulink的电机与液压执行机构联合控制系统建模方法。通过7个步骤,系统讲解了从创建项目、搭建PMSM电机模型、建立逆变器与矢量控制模块,到构建液压泵和执行机构模型的完整过程。重点展示了如何设置关键参数、添加测量反馈模块,并提供了实用的代码片段。教程还包含仿真运行流程、结果分析指标及进阶建议,帮助读者掌握多物理场耦合系统建模的核心技术。该方法适用于机电液一体化系统设计,为工程实践提供有效参考。

amy_mhd的博客 613

.net 用SqlCommandBuilder 实现数据库批量更新

用SqlCommandBuilder 实现批量更新 1.功能: 可以实现你对DataSet在UI层做任意操作后,直接丢给这个方法,这个方法就可以自动把你的修改更 新到数 据库中,而没必要每次都更新到 数据库 2.使用方法 public DataSetUpdateByDataSet(DataSet ds,string strTblName,string strConnection) { SqlCon

DreaJay的专栏 2107

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

用SqlCommandBuilder实现数据库批量更新的方法

<br />  用SqlCommandBuilder 实现批量更新 收藏 <br />(一)<br />  有没有人遇到这种情况,用 SqlDataAdapter.Update(ds)更新时出错?<br />  answer:   一般是这样的,如果用设计器将SqlDataAdapter拖到页面中使用时,不会出现这种情况,因为<br />                  系统会自动生成SqlDataAdapter的属性命令,比如:  .UpdateCommane insertCommand <br /> 

生活要快乐 - 魏言 668

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

DataGridView使用SqlCommandBuilder批量更新数据

参考http://www.cnblogs.com/chengulv/archive/2008/11/11/1292145.html (一) 有没有人遇到这种情况,用 SqlDataAdapter.Update(ds)更新时出错?answer: 一般是这样的,如果用设计器将SqlDataAdapter拖到页面中使用时,不会出现这种情况,因为系统会自动生成SqlDataAdapter的属性命令,比如:...

weixin_30505225的博客 167

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

用SqlCommandBuilder 实现批量更新

(一)  有没有人遇到这种情况,用 SqlDataAdapter.Update(ds)更新时出错?  answer:   一般是这样的,如果用设计器将SqlDataAdapter拖到页面中使用时,不会出现这种情况,因为                  系统会自动生成SqlDataAdapter的属性命令,比如:  .UpdateCommane insertCommand     

★(ChengKing)【夜战鹰】【产品级性能调优与故障诊断分析】★ 1万+

SqlCommandBuilder 用法 批量更新数据库

最近看一个案例,关于如何向数据库传数据,颇有发现。 以前我的数据都是采用Sql代码用SqlCommand一条一条语句的传入数据库。 但是今天发现有更好的方法。 代码如下: SqlConnection cn=new SqlConnection(ConStr); DataSet DS=new DataSet(); SqlDataAdapter Sda=new SqlDataAdapter(“S...

liuxiaofeng1991的博客 137

SqlDataAdapter SqlCommandBuilder update 批量更新

SqlDataAdapter.Update批量数据更新 转      *自己的使用感想,用他的时候一定要注意要select * 也就是select要查询整张表,还有更新的时候表中一定要加主键。  使用SqlDataAdapter.Update可以方便地对数据库进行快速、批量数据更新。我们最常用的多条数据更新方法是使用循环多次执行SQL语句或存储过程,这样虽然方便,但由于连接和数

guoyong4321的专栏 1252

用sqlCommandBuilder批量更新

用sqlcommandbuilder 实现批量更新   1.功能:    能够实现您对dataset在ui层做任意操作后,直接丢给这个方法,这个方法就能够自动把您的修改更 新到数 据库中,而没必要每次都更新到数据库. 什么时候用?     a. 有时候需要缓存的时候,比如说在一个商品选择界面,选择好商品,并且进行编辑/删除/更新后,        最后一并交给数据库,而不是每一步操作都

ningyb 1015

用SqlCommandBuilder 大批量修改怎么不行?

SqlCommandBuilder builder = new SqlCommandBuilder(data);  data.Update(ds, "mydt"); 怎么用? 现在我一个DatagridView的数据源是DataTable。 但是我要大批量的修改。然后我就考虑到了SqlCommandBuilder 。 但是好像行不通? 分析: 1、使用SqlCommandBuilde

u010792280的专栏 628
上一篇: 如何调研
下一篇: 制作Windows服务安装包
dyzcode
博客等级 码龄17年 1粉丝 0原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值