C#中DataSet类的使用

2023-10-26

C#中DataSet类的使用

DataSet类是ADO.NET中最核心的成员之一,也是各种开发基于.Net平台程序语言开发数据库应用程序最常接触的类。每一个DataSet都有很多个DataTables和Relationships。RelationShip应该也是一种表,特殊的是,这个表只是用来联系两个数据表的。每一个DataTable都有很多datarows和datacols, 也包括ParentRelations,ChildRelations 和一些限制条件像主键不可以重复的限制。
 
      DataSet每一行有一个RowState属性。主要是反映当前行是否已经被删掉了,被更新了,还是本没变。有如下的几个选项:   Deleted, Modified, New, and Unchanged。
 
      对DataSet的任何操作,都是在计算机缓存中完成的。
      在从数据库完成数据抽取后,DataSet就是数据的存放地,它是各种数据源中的数据在计算机内存中映射成的缓存,所以有时说DataSet可以看成是一个数据容器。
DataSet对象是一个可以用XML形式表示的数据视图,是一种数据关系视图。
 
    DataSet使用方法一般有三种:
    1.把数据库中的数据通过DataAdapter对象填充DataSet
    DataAdapter填充DataSet的过程分为二步:首先通过DataAdapter的SqlCommand属性从数据库中检索出需要的数据。SqlCommand其实是一个Command对象。然后再通过DataAdapter的Fill方法把检索来的数据填充DataSet。
 
    2.通过DataAdapter对象操作DataSet实现更新数据库
    DataAdapter是通过其Update方法实现以DataSet中数据来更新数据库的。当DataSet实例中包含数据发生更改后,此时调用Update方法,DataAdapter 将分析已作出的更改并执行相应的命令(INSERT、UPDATE 或 DELETE),并以此命令来更新数据库中的数据。
 
    3. 把XML数据流或文本加载到DataSet
    DataSet中的数据可以从XML数据流或文档创建。加载XML数据流和文档到DataSet中是可使用DataSet对象的ReadXml方法。
 
     数据绑定分成二类:简单型数据绑定和复杂型数据绑定。适用于简单型数据绑定组件一般有Lable、TextBox等,适用于复杂性数据绑定的组件一般有DataGrid、ListBox、ComboBox等。
 
  简单型数据绑定一般使用这些组件中的DataBindings属性的Add方法把DataSet中某一个DataTable中的某一行和组件的某个属性绑定起来,从而达到显示数据的效果。
 
比如:textBox1.DataBindings.Add ( "Text" , dsDataSet1, " Customers. CustomerID ") ;
 
    复杂性数据绑定一般是设定组件的DataSource属性和DisplayMember属性来完成数据绑定的。DataSource属性值一般设定为要绑定的DataSet,DisplayMember属性值一般设定为要绑定的数据表或数据表中的某一列。
比如:dataGrid1.DataSource = dsDataSet1 ;
dataGrid1.DataMember = " Customers " ;
 
DataSet的属性Tables可以获取该DATASET中表的数量:DataSet.Tables.Count
 
DataSet的Tables是一个Table数组,指定其中的一个表:DataSet.Tables[i];//i为
 
Table在数组序列中的位置 或 DataSet.Tables["表名"]; 
 
通过Table的Rows对象组的Count获取该表的记录数:DataSet.Tables[i].Rows.Count;
 
获取列数:DataSet.Tables[i].Columns.Count;
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

C#中DataSet类的使用 的相关文章

随机推荐

  • ModuleNotFoundError: No module named 'encodings'

    问题描述 Fatal Python error Py Initialize unable to load the file system codec ModuleNotFoundError No module named encodings
  • 三极管和MOS管的使用及区别

    1 三极管 单片机IO口输出高电平时 三极管导通 单片机IO口输出低电平时 三极管截止 1 三极管是电流控制型元件 三极管的BE之间可以理解为存在一个二极管的通路 当给B加高电平时 BE之间就会产生持续的电流 维持三极管打开的条件就是BE之
  • 101.对称二叉树

    给定一个二叉树 检查它是否是镜像对称的 例如 二叉树 1 2 2 3 4 4 3 是对称的 1 2 2 3 4 4 3 但是下面这个 1 2 2 null 3 null 3 则不是镜像对称的 1 2 2 3 3 方法1 根左右遍历一次树得到
  • 微信小程序个人简历界面(编辑版)

    微信小程序个人简历界面 可编辑修改 包含全部源码 1 微信小程序实现简单的个人简历界面 包含基本信息 教育背景 获奖证书 兴趣爱好等 简历信息支持修改编辑内容 2 通过此文章 希望能带给更多学习微信小程序的伙伴们一点点经验 示例简洁 布局简
  • Linux系统编程之pthread多线程与互斥编程

    Linux系统编程之pthread多线程与互斥编程 include
  • tcp三次握手、四次挥手

    原文 https www cnblogs com qq78292959 p 3922231 html https blog csdn net qq 38950316 article details 81087809 经典的四次握手关闭图 T
  • 几款常用压测工具介绍与使用

    现在市面上的压测工具数不胜数 挑几款常用的做个简单的介绍 1 Apache ab ab是apache自带的压力测试工具 使用起来非常方便 安装 1 ab运行需要依赖apr util包 安装命令为 yum install apr util 2
  • 腾讯云短信Java调用示例(SDK3.0)

    腾讯云短信Java调用示例 SDK3 0 1 pom xml 添加以下依赖 2 需要引入的包 3 程序实例 1 pom xml 添加以下依赖
  • IDEA控制台乱码问题 maven-javadoc-plugin

    接手老项目 上来就是编译报错 一看是控制台还打印一堆乱码 所以上来百度搜到一篇不错的文章DEA控制台乱码问题 原因 解决方式 解决不了算我输 一顿操作仍然无效 不过学会了不少 后来控制台报错中发现了 maven javadoc plugin
  • SpringAOP的5种增强类型应用讲解

    SpringAOP的5种增强类型应用讲解 一 前言 spring框架中为我们提供的增强包括针对切面的增强和针对切入点的增强 对一个方法的增强底层使用的是动态代理 所以在学习springAop增强之前大家有必要先了解一下动态代理相关内容 本文
  • linux系统配置文件

    1 etc sysconfig i18n 语言配置文件 2 etc sysconfig network scripts ifcfg eth0 eth0配置文件 3 boot grub grub conf grup配置文件 或 boot gr
  • 记一次线上BUG排查过程

    1 线上遇到一个非常奇怪的bug 为一个用户分配业务线类型后 该用户登录时 提示502 但其它的用户登录完全是正常的 2 问题现象 3 排查思路 先去看线上日志 看是否有error 但日志里边这个接口200正常返回 本地debug 也复现一
  • 快速入门ASP.NET Core

    本来这篇只是想简单介绍下ASP NET Core MVC项目的 毕竟要照顾到很多新手朋友 但是转念一想不如来点猛的 考虑到急性子的朋友 让你通过本文的学习就能快速的入门ASP NET Core 既然是快速入门所以过多过深的内容我这里就一笔带
  • mybatis调用oracle视图

    多数据源切换调用oralce里的某个视图 后台报错 表或视图不存在 select from table 最后在select 语句中加上前缀即可 select from zzzz table
  • SM4算法原理

    前面的文章介绍了SM4算法的C语言实现 源码可见文章 SM4国密对称算法源码解析 10点43的博客 CSDN博客 sm4代码 本文将会介绍SM4算法原理 这部分可能会比较枯燥 但数学要求也不是太高 目录 1 概述 2 参数产生 3 轮函数
  • 【EI检索】2022年第四届大数据、物联网与计算国际会议(ICBICC 2022)

    2022年第四届大数据 物联网与计算国际会议 ICBICC 2022 重要信息 会议网址 www icbicc org 会议时间 2022年11月11 13日 召开地点 中国北京 截稿时间 2022年10月11日 录用通知 投稿后2周内 收
  • React国际化——多语言切换

    1 安装react intl universal npm install react intl universal save 2 配置语言包 json文件根据需要支持几种语言决定 将新建的语言包json文件放置于项目根目录的 public
  • Qt信号与槽的五种连接方式

    qt信号与槽的五种连接方式 1 默认连接 如果是在同一线程等价于直连 在不同线程等价于队列连接 2 直连 信号在哪 在哪个线程执行 最好只在同一线程中用 3 队列连接 槽在哪就在哪个线程执行 槽函数不会立刻执行 等到接受者的当前执行的函数执
  • 【Bootstrap作业】flex布局实现可伸缩菜单

    flex布局实现可伸缩菜单
  • C#中DataSet类的使用

    C 中DataSet类的使用 DataSet类是ADO NET中最核心的成员之一 也是各种开发基于 Net平台程序语言开发数据库应用程序最常接触的类 每一个DataSet都有很多个DataTables和Relationships Relat