Winform开发之ADO.NET对象Connection、Command、DataReader、DataAdapter、DataSet和DataTable简介...

ADO.NET技术主要包括Connection、Command、DataReader、DataAdapter、DataSet和DataTable等6个对象,下面对这6个对象进行简单的介绍:
(1)Connection对象的主要功能是与数据库进行连接(事物处理也使用此对象)。
(2)Command对象主要用于返回数据、修改数据、运行存储过程以及发送或检索参数信息的数据库命令。
(3)DataReader对象主要功能是以只进流的方式从数据中读取行。
(4)DataAdapter对象主要功能是将数据库中的内容填充到DataSet对象,在修改DataSet对象中的数据后
还可以将修改信息通知数据库,使DataSet对象中的数据与数据库中的数据保持一致。
(5)DataSet对象是ADO.NET的核心概念,它是支持ADO.NET断开式、分布式数据方案的核心对象。
DataSet对象是一个数据库容器,可以把它当作是存在于内存中的数据库,无论数据源是什么,它都会提供一致的关系编程模型。
(6)DataTable可以理解为内存中的数据表。

形象地说明了ADO.NET中的每个对象的作用。
(1)数据库可以比作水库,存储了大量的数据。
(2)Connection对象可以比作进水笼头,只有打开进水笼头后抽水机才可以抽到水。
(3)Command对象可以比作抽水机,打开进水笼头,然后再打开抽水机,水会被送到用户家里。
(4)DataReader对象可以比作输水管道,打开进水笼头,然后再打开抽水机,水会被送到用户家里。
(5)DataAdapter对象可以比作输水管道,打开进水笼头,通过自己的发动机来抽水,水会被送到自己的水场中保存,以备后期使用。
(6)DataSet对象可以比作自来水场,当自来水场的水被抽水机装满后,即使关掉水笼头(断开数据库连接),自来水场还是有水可以使用的。
(7)DataTable对象可以比作自来水场中的水池,自来水场由很多水池组成。

摘自C#相关书籍

 ADO.NET 使您能够创建 DataTable 对象并将其添加到现有 DataSet 中。 可以使用 PrimaryKey 和 Unique 属性为 DataTable 设置约束信息。

DataSet customerOrders = new DataSet("CustomerOrders");DataTable ordersTable = customerOrders.Tables.Add("Orders");DataColumn pkOrderID = ordersTable.Columns.Add("OrderID", typeof(Int32));
ordersTable.Columns.Add("OrderQuantity", typeof(Int32));
ordersTable.Columns.Add("CompanyName", typeof(string));ordersTable.PrimaryKey = new DataColumn[] { pkOrderID };

区分大小写

DataSet 中可以存在两个或两个以上的同名但是大小写不同的表或关系。 在这种情况下,通过名称对表和关系的引用将区分大小写。 例如,如果 DataSet dataSet 包含表 Table1 和 table1,则将通过名称将 Table1 作为dataSet.Tables["Table1"] 来引用,而将 table1 作为 dataSet.Tables["table1"] 来引用。 如果试图将其中任一个表作为 dataSet.Tables["TABLE1"] 来引用,则会生成异常。

如果只有一个具有特定名称的表或关系,则区分大小写行为不适用。 例如,如果 DataSet 只包含 Table1,则可以使用 dataSet.Tables["TABLE1"] 来引用。

 

转载于:https://www.cnblogs.com/yieryi/p/4619001.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/431615.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

python电子英汉词典显示_python网页抓取之英汉字典

linux的字典本人实在用起来不舒服(stardict挺不错的,但是界面好看些,功能简单易用就好了) ,在线翻译又得打开庞大的浏览器....就打算自己写个,但是时间有限,为了简单, 还是用python抓…

清空缓存的命令_超详细的mysql数据库查询缓存原理解析、涉及命令、流程分析等...

概述mysql查询缓存在数据库优化可以起到很大的作用,今天主要针对这一块做一个总结,下面一起来看看吧~一、缓存条件,原理MySQL Query Cache是用来缓存我们所执行的SELECT语句以及该语句的结果集,MySql在实现Query Cache的具体技术细…

python与tensorflow的关系_python – 在TensorFlow,Session.run()和Tensor.eval()之间有什么区别?...

如果你有Tensor t,调用 t.eval()相当于调用tf.get_default_session()。run(t)。 您可以将会话设置为默认值,如下所示: t tf.constant(42.0) sess tf.Session() with sess.as_default(): # or with sess: to close on exit assert sess is t…

和lua的效率对比测试_Unity游戏开发Lua更新运行时代码!

最近沉迷lua脚本热更,想说这个可以提高多少菜鸡的调试效率,找了网上好多文章,但是都不行,尝试了很久,并且自己测试和学习,写了一遍,勉强能热更了。下面记录一下热更Lua的过程。一、用来卸载表格…

nodejs cluster ip hash_redis集群架构了解一下?一致性hash了解吗?

在前几年,redis 如果要搞几个节点,每个节点存储一部分的数据,得借助一些中间件来实现,比如说有 codis,或者 twemproxy,都有。有一些 redis 中间件,你读写 redis 中间件,redis 中间件…

硬盘主分区和拓展分区

主分区,也称为主磁盘分区,和扩展分区、逻辑分区一样,是一种分区类型。主分区中不能再划分其他类型的分区,因此每个主分区都相当于一个逻辑磁盘(在这一点上主分区和逻辑分区很相似,但主分区是直接在硬盘上划分的,逻辑分区则必须建立于扩展分区中)。 1. 一个硬盘可以有1到3个主分…

python如何比较大小_python列表如何比较大小

python列表如何比较大小 发布时间:2020-09-22 13:58:58 来源:亿速云 阅读:59 作者:小新 这篇文章给大家分享的是有关python列表如何比较大小的内容。小编觉得挺实用的,因此分享给大家做个参考。一起跟随小编过来看看吧。 Python中可以使用cmp()函数比较两个列表的大小。 c…

python 连接oracle_常用的Python库,给大家分享一下!

Tkinter———— Python默认的图形界面接口。Tkinter是一个和Tk接口的Python模块,Tkinter库提供了对Tk API的接口,它属于Tcl/Tk的GUI工具组。Tcl/Tk是由John Ousterhout发展的书写和图形设备。Tcl(工具命令语言)是个宏语言,用于简化shell下复…

js 获取某年的某天是第几周

/**2 * 判断年份是否为润年3 *4 * param {Number} year5 */6 function isLeapYear(year) {7 return (year % 400 0) || (year % 4 0 && year % 100 ! 0);8 }9 /**10 * 获取某一年份的某一月份的天数11 *12 * param {Number} year13 * param {Number} month14 *…

python 前端学习_python学习之路7 前端学习3

1.页面布局PosTion :fixedTitle.left{float:left;}.right{float:right;}.head{height:58px;background-color:#3c3c3c;}.head .fontsquarl{width:120px;height:58px;background-color:#F22E00;line-height:58px;}.head .logosuqarl{width:120px;height:58px;background-color:#…

2.5d generator 2.0_ps插件【2.5D插件】

近一两年来创意插画在视觉上的使用越来越多,设计师们都愈加倾向于使用漂亮的插画和产品结合让自己的设计脱颖而出。在最近这段时间新涌现的设计作品当中,强烈的视觉冲击力和产品结合的展现是它们共通的特点。那么2.5D插画也是作为近一两年的发展趋势&…

(转)女生应该找一个玩ACM的男生

1、强烈的事业心 将来,他也一定会有自己热爱的事业。而且,男人最性感的时刻之一,就是他专心致志做事的时候。所以,找一个机会在他全神贯注玩ACM的时候,从侧面好好观察他,你就会发现我说的话没错。 2、永不放…

人工神经网络_制作属于自己的人工神经网络

在本文中,我已经实现了具有Dropout和L2正则化的人工神经网络的完全向量化代码。在本文中,我实现了一个在多个数据集上测试的人工神经网络的完全向量化python代码。此外,并对Dropout和L2正则化技术进行了实现和详细说明。强烈建议通过人工神经…

decorators 参数_Python Decorators(二):Decorator参数

Python Decorators II: Decorator ArgumentsOctober 19, 2008(本文是(Python3之模式和用法)一书的章节节选第二部分,点击阅读第一部分)回顾:不含参数的decorators在前文中,我介绍了如何使用不含参数的decorators,并使用类来实现。…

[leedcode 52] N-Queens II

Follow up for N-Queens problem. Now, instead outputting board configurations, return the total number of distinct solutions. public class Solution {//本题类似于N-Queens,这个更简单一些,只需要求出解法的个数即可,因此没有了prin…

python文本风格_以写代学:python 良好的代码风格实例解析

将用户输入的数据存入到一个文件当中去,这个文件必须是原来不存在的 (1)起始行 (2)模块文档字符串 (3)导入模块 (4)全局变量声明 (5)类定义 &…

三角形和矩形傅里叶变换_信号与系统:第三章傅立叶变换2.ppt

第三节 连续时间周期信号的频谱分析 一)周期矩形脉冲的频谱 三、 周期信号的有效频帶宽度(简称带宽) 四、 周期信号的功率谱 第四节、 连续时间非周期信号的频谱 一、 从傅立叶级数到傅里叶变换 三、一些典型信号的 频谱函数F(jw) (即傅里叶变换) (2)单边指数信号的傅里叶变换 …

Sock基础

z1 客户端 //客户端 通信套接字 //1.创建监听套接字 使用 ip4协议,流式传输,TCP连接 Socket sokMsg new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp); //2.获取要连接的服务端 节点 //2.1获取网络节点对象 IPAddress add…

python转r字符_python r不转义变量

普通字符串常量 含有转义字符,会按照转义字符的意义输出,如下:text"1 E:/Code/PycharmProjects/QtDemo/ToolsList\__pycache__\start.cpython-36.pyc \r\n" print(text) 输出如下:1 E:/Code/PycharmProjects/QtDemo/Too…

uinty粒子系统子物体变大_Unity2018粒子系统全息讲解,坑深慎入(3)

马上注册,加入CGJOY,让你轻松玩转CGJOY。您需要 登录 才可以下载或查看,没有帐号?立即注册x200357v0p9jufzelwj0uuj.jpg (60.94 KB, 下载次数: 16)2018-6-11 20:22 上传声明!声明!声明!这不会让…