[转]简单实用的DataSet更新数据库的类+总结

最全面的DataSet用法详细 DataSet是ADO.NET开发人员为方便数据处理开发出来的,是数据的集合。DataSet的功能:浏览、排序、搜索、过滤、处理分级数据、缓存更改等。还可以与XML数据互换。DataSet中可包括多个DataTable,可将多个查询结构存到一个DataSet中,方便操作..... 立即下载

 

以前经常用sql语句(update)更新数据库,有使用用起来不是很方便,特别是数据量比较大的情况下(比如数据表)很麻烦~~后来感觉用DataSet更新数据库是不错的选择.于是急着写了一个用dataSet更新数据库的类

如下:(后面有使用说明,总结)

 

using System;

 

using System.Data;

 

using System.Data.SqlClient;

 

using System.Windows.Forms;

 

namespace winApplication

 

{

 

     public class sqlAccess

 

     {

 

         //与SQL Server的连接字符串设置

 

         private string _connString;

 

         private string _strSql;

 

 

         private SqlCommandBuilder sqlCmdBuilder;

 

         private DataSet ds = new DataSet();

 

         private SqlDataAdapter da;

 

         public sqlAccess(string connString,string strSql)

 

         {

 

              this._connString=connString;

 

         }

 

 

         private SqlConnection GetConn()

 

         {

 

              try

 

              {

 

                   SqlConnection Connection = new SqlConnection(this._connString);

 

                   Connection.Open();

 

                   return Connection;

 

              }

 

              catch (Exception ex)

 

              {

 

                   MessageBox.Show(ex.Message,"数据库连接失败");

 

                   throw;

 

              }

 

         }

 

 

         //根据输入的SQL语句检索数据库数据

 

         public DataSet SelectDb(string strSql,string strTableName)

 

         {

 

              try

 

              {

 

              this._strSql = strSql;

 

              this.da = new SqlDataAdapter(this._strSql,this.GetConn());

 

              this.ds.Clear();

 

              this.da.Fill(ds,strTableName);

 

              return ds;//返回填充了数据的DataSet,其中数据表以strTableName给出的字符串命名

 

              }

 

              catch (Exception ex)

 

              {

 

                   MessageBox.Show(ex.Message,"数据库操作失败");

 

                   throw;

 

              }

 

         }

 

 

         //数据库数据更新(传DataSet和DataTable的对象)

 

         public DataSet UpdateDs(DataSet changedDs,string tableName)

 

         {

 

              try

 

              {

 

              this.da = new SqlDataAdapter(this._strSql,this.GetConn());

 

              this.sqlCmdBuilder = new SqlCommandBuilder(da);

 

              this.da.Update(changedDs,tableName);

 

              changedDs.AcceptChanges();

 

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

 

              }

 

              catch (Exception ex)

 

              {

 

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

 

                   throw;

 

              }

 

                    }

 

使用说明总结:

 

1. GetConn方法创建一个数据库连接,返回SqlConnection。

 

2.使用的select命令中必须包含主键,这点大家都知道的!

 

3. this.da.Fill(ds,strTableName) 填充数据集

 

4.构造CommandBuilder对象时,将DataAdapter对象作为构造函数参数传入:

 

  this.sqlCmdBuilder = new SqlCommandBuilder(da);

 

5. 在调用UpdateDs()更新数据库前,请检查changedDs是否已经被更新过,用changedDs.[tableName] GetChanges() != null;

 

6.用this.da.Update(changedDs,tableName)方法更新数据,然后调用changedDs.AcceptChanges()才能真正的更新数据库,调用 changedDs.RejectChanges() 取消更新。

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

树莓派4B安装 ubuntu20.04 & VNC远程桌面 & 安装ROS noetic 树莓派4B安装ubuntu20.04 & VNC远程桌面1、安装ubuntu方式1:下载Imager文件。方式2:下载镜像文件。2、查询树莓派 IP 地址3、使用ssh远程登录树莓派4、更新源地址5、更新6、安装桌面环境7、允许root登陆8、登陆远程桌面9、设置中文 1、安装ubuntu 方式1:下载Imager文件。... 阅读详情

相关推荐

【Coze 扣子案例】第 23 期・商业篇:一键获取精准商机,自动化招标信息查询与分析

通过地区和项目类型等多维度组合查询全国招标信息网数据,实现招标公告的快速定位。自动解析招标公告内容,提取关键信息,并生成结构化摘要。帮助企业高效获取精准商机,提升市场竞争力,降低人工成本,解决 “信息过载” 与 “精准匹配难” 的双重问题。

weixin_72689845的博客 1927

简单实用的DataSet更新数据库的类+总结(c#)

以前经常用sql语句(update)更新数据库,有使用用起来不是很方便,特别是数据量比较大的情况下(比如数据表)很麻烦~~后来感觉用DataSet更新数据库是不错的选择.于是急着写了一个用ataSet更新数据库的类如下:(后面有使用说明,总结)using System;using System.Data;using System.Data.SqlClient;using System.Window

1413

Vue 10分钟入门VR全景显示 基于photo-sphere-viewer

文章目录前言一、引入photo-sphere-viewer?二、使用步骤1.引入库2.声明容器3.内容加载4.全部代码总结 前言 由于工作的需求,要实现全景图片的展示与预览,本来以为会是一个很难的内容,没想到使用现成的组件photo-sphere-viewer就可以轻松实现,上手只需要10分钟! 一、引入photo-sphere-viewer? 可以直接通过npm进行引入 npm install photo-sphere-viewer 二、使用步骤 1.引入库 photo-sphere-viewer

YIGE_MO的博客 5866

C# winform分页查询

1、功能需求本实例将通过c# winform实现简单的分页功能,需要的基础知识有SQL语句,c#语言基础以及c# winform的一些简单知识。2、界面设计这是一个简单的分页查询的界面,可以输入任意字段进行查询,这四个字段在数据准备会提到,整体界面如图1所示。图1中间显示是一个DataGridView,编辑好列和id,SortMode选择Automatic,意思是所有列自动铺满DataGridVi...

一枝韩独秀的博客 2万+

ArcGIS:根据DEM数据提取区域水系

利用DEM数据提取区域水系是常见的水文分析应用,为了获取区域的矢量水系数据,我们可以通过ArcGIS对高程DEM数据进行水文分析,为地表水流建立模型,进而获取到该地的水系数据,DEM数据精度越高,获取到的水系数据精度也就越高。以下介绍如何用ArcGIS提供的工具提取水系。

Oruizn的博客 9109

system_stm32f10x.c文件分析

配置系统时钟(包括系统时钟源、锁相环(PLL)倍频系数、高级高性能总线(AHB)/ 高级外设总线(APBx)预分频器以及闪存相关设置)。该函数在系统复位后的启动阶段被调用,且调用时机早于跳转到主程序之前。

Jia shuheng的博客 602

C#遍历DataSet中数据的几种方法总结

遍历DataSet

black_yu的博客 1万+

SAP_SD模块路径及运输功能后台配置简介

后台路径:SPRO—后勤执行—装运—基本发运功能—定义路线—定义传输模式根据实际运输过程运输地理的类型:海运、公路运输、空运后台路径:SPRO—后勤执行—装运—基本发运功能—定义路线—定义发运类型根据实际运输过程运输方式:汽车、卡车、火车、轮船、飞机后台路径:SPRO—后勤执行—装运—基本发运功能—路径—定义路线—定义运输连接点指在运输过程中需要中转的地区可以维护中转地区的停留的时间后台路径:SPRO—后勤执行—装运—基本发运功能—路径—定义路线—定义路径和阶段。

我小时候很黑的博客 1397

Dataset的用法

使用方法 1、创建DataSet对象 DataSet ds = new DataSet(); DataSet ds = new DataSet("DataSetName"); 2、用数据集填充DataSet 最常用的是DataAdapter对象的Fill()方法给他填充数据 (1) DataSet ds = new DataSet(); SqlDat

liucherish的博客 4万+

STM32Cube高效开发教程<基础篇>(一)----概述

一、 STM32系列器件和开发工具发展历史声明:本人水平有限,博客可能存在部分错误的地方,请广大读者谅解并向本人反馈错误。本专栏博客参考《STM32Cube高效开发教程(基础篇)》,有意向的读者可以购买正版书籍辅助学习,本书籍由王维波老师、鄢志丹老师、王钊老师倾力打造,书籍内容干货满满。一、 STM32系列器件和开发工具发展历史。

我的博客 187

【示波器专题】示波器探头的原理深入——有源探头之差分有源探头

差分有源探头是一种特殊的有源探头,与普通单端有源探头的区别在于其前端的放大器是差分放大器。差分放大器的好处是可以直接测试高速差分信号,同时其共模抑制比高,对共模噪声的抑制能力比较好。...

一点硬件 2624

简单实用的DataSet更新数据库的类+总结(转~给懒得写sp的人)

以前经常用sql语句(update)更新数据库,有使用用起来不是很方便,特别是数据量比较大的情况下(比如数据表)很麻烦~~后来感觉用DataSet更新数据库是不错的选择.于是急着写了一个用ataSet更新数据库的类如下:(后面有使用说明,总结)using System; using System.Data; using System.Data.SqlClient; using System.Win

hyde82的专栏 1182

KEPServerEX作为MQTT客户端

打开软件: 测试没有连接上MQTT代理。

低码开发 1681

C# DataSet类的简单学习

今天我们一起学习一下DataSet类,DataSet类官方的表示是这样的:"表示数据的内存中缓存",大致意思就是我们把数据去取出来,然后把数据给DataSet,再对DataSet做数据处理,这样似乎可以对数据做更快的处理,相当于一个临时的数据库,数据是从数据库检索的记录的缓存...

qq_46104786的博客 1万+

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

简单实用的DataSet更新数据库的类+总结

以前经常用sql语句(update)更新数据库,有使用用起来不是很方便,特别是数据量比较大的情况下(比如数据表)很麻烦~~后来感觉用DataSet更新数据库是不错的选择.于是急着写了一个用ataSet更新数据库的类如下:(后面有使用说明,总结)using System;  using System.Data;  using System.Data.SqlClient;  using System.

JOEMAIL的专栏 912

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

简单实用的DataSet更新数据库的类(没试过)

简单实用的DataSet更新数据库的类+总结(c#)   以前经常用sql语句(update)更新数据库,有使用用起来不是很方便,特别是数据量比较大的情况下(比如数据表)很麻烦~~后来感觉用DataSet更新数据库是不错的选择.于是急着写了一个用ataSet更新数据库的类   如下:(后面有使用说明,总结)   using System;   using System.Data;...

diaojia3171的博客 168

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

mysql dataset更新到数据库_C# DataSet:更新数据库

在 C# 语言中使用 DataSet 类更新数据库中的数据,还需要使用 System.Data.SqlClient 命名空间中的 SqlCommandBuilder 类自动生成 SqlDataAdapter 对象的添加、修改以及删除方法。在与 SqlDataAdapter 类联用时,只需要在创建 SqlCommandBuilder 类的实例时使用 SqlDataAdapter 对象作为参数即可,语...

weixin_36335279的博客 771

C#中DataSet类的使用

DataSet类是ADO.NET中最核心的成员之一,也是各种开发基于.Net平台程序语言开发数据库应用程序最常接触的类。每一个DataSet都有很多个DataTables和Relationships。RelationShip应该也是一种表,特殊的是,这个表只是用来联系两个数据表的。每一个DataTable都有很多datarows和datacols, 也包括ParentRelations,ChildRelations 和一些限制条件像主键不可以重复的限制。 DataSet每一行有一个RowState属性..

韦_恩的博客 3710

DataSet更新到数据库总结

最近在工作中再次遇到了将DataSet中的数据全部插入数据库的情况。这种情况以前也处理过,很久没用又忘记了,今天特别总结一下这种情况的处理方式。首先,用Select语句查询需要插入数据的表,用Top 1查一行就够了,这个是为了给SqlDataAdapter生成表的架构用的。string strSql = "Select * from TableNeedToUpdate";SqlDataAdapte

夜雨长安的专栏 5956

C#中DataSet的使用

DataSet介绍 DataSet类是ADO.NET中最核心的成员之一,它是支持ADO.NET断开式、分布式数据方案的核心对象,也是各种开发基于.Net平台程序语言开发数据库应用程序最常接触的类。 DateSet对象是创建在内存中的集合对象,他可以包含任意数量的数据表以及所有表的约束、索引和关系,它相当于在内存中的一个小型关系型数据库,所以如果数据量太大会非常消耗内存。 每一个DataSet包含一组DataTable对象和DataRelation对象,其中每个DataTable对象都由DataColumn、

weixin_42974146的博客 1万+

把dataset中的数据更新回 数据库

,C#使用TheSQL Server .NET Data Provider中的SqlDataAdapter填充DataSet的具体实现方法:   代码清单01: SqlConnection sqlConnection1 = new SqlConnection ( "Data Source=localhost ;Integrated Security=SSPI ;

kankankankan2222的专栏 6885

使用 DataAdapter 和 DataSet 更新数据库

DataAdapter 的 Update 方法:将 DataSet 中的更改解析回数据源。DataSet保存的数据是位于服务器内存里面的原数据库的“副本”。所以用DataSet更新数据的过程就是先对“副本”进行更新,然后在将“原本”更新。 Update 方法会将更改解析回数据源,但是自上次填充 DataSet 以来,其他客户端可能已修改了数据源中的数据。若要使用当前数据刷新 DataSet,请再次

骆枫专栏 3784
上一篇: C#判断奇偶数的函數
下一篇: C#调用存储过程返回值
rickyll
博客等级 码龄19年 14粉丝 75原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值