ADO.NET学习小结【1】正在更新...
小弟正在学习ADO.net有误的地方还请大大们批评指出,小弟在此谢过了
一、ADO.net简述:
以前我们写程序尤其是写和数据库有关的应用程序时,你我都得要了解Microsoft ADO COM对象才能和相关的数据库进行交互。而Microsoft 随着.Net Framework的发行,并推出了新的数据库访问技术ADO.NET,这使程序员对数据库访问更加的便捷,快速。知道Delphi的人可能知道Delphi的编程语言使用的语言是Pascal语言,而Delphi的编译器又称为世界上最快的编译器,而我自己对Microsoft ADO.NET的感觉是,在写数据库方面的程序时有种在全用Delphi的感受!
ADO.NET和ADO的区别,首先这是两种截然不同的技术,前者是基于.NET Framework平台的数据库访问技术,后者是使用OLE DB接口并基于微软的COM技术来实现数据库的交互的;既然他们是两种截然不同的技术,但是.NET程序员也是可能通过.NET的COM互操作性服务来使用ADO;
二、ADO.NET主要的组成:

从上图中可以看到ADO.NET主要的组件:
- Command Object
- DataReader Object
- Connection Object
- DataAdapter Object
- DataSet Object
ADO.NET的主要分为两种访问数据库的方式:
1.连接式的,也就是通过Connection构造一个连接对象,通过Command对象和DataReader对象连接着数据库,并实时的操作数据库:
例子:
.....
..............
String conStr =@"Server=myServerAddress;Database=myDataBase;User Id=myUsername;
Password=myPassword;"; using(SqlConnection conn = new SqlConnection(conStr)){ conn.open(); string sqlAllCustomers = @"select * from Customers"; SqlCommand cmd = new SqlCommand(sqlAllCustomers,conn); using(SqlDataReader reader = cmd.ExecuteReader()){ while(reader.Read()){ for(int i = ; i<reader.FieldCount; i++){ Console.WriteLine(reader[i].ToString()); } } } }
上面的例子是通过SqlConnection对象连接到SQL SERVER数据库当中,并全用SqlCommand对象来进行SQL语句进行操作数据库,完了以扣再全用数据读取器来将数据遍历出来;
2.断开式的数据访问方式,这种方式,就是通过SqlDataAdapter对象将数据填充到DataSet当中,然后SqlDataAdapter会断开数据连接,这时数据会在内存或是以XML形式在本地存储;当对本地数据DataSet操作完毕,直接调用SqlDataAdapter对象的Update方法即可将数据向DBMS提交过去,并由DBMS来处理数据的DML,DDL,DCL;
例子:
String conStr =@"Server=myServerAddress;Database=myDataBase;User Id=myUsername;
Password=myPassword;"; using(SqlConnection conn = new SqlConnection(conStr)){ conn.open(); string sqlAllCustomers = @"select * from Customers"; SqlCommand cmd = new SqlCommand(sqlAllCustomers,conn); DbDataAdapter dbAdpter = new DbDataAdapter(cmd); DataSet ds = new DataSet("Customers"); dbAdpter.Fill(ds,"Customers"); DataGridView.DataSrusour =ds.Tables[0];
}
ADO.NET学习小结【1】正在更新...的更多相关文章
- ado.net 学习小结
连接数据源 Connection对象.Connection对象处于最顶层,是所有数据访问请求的关口.我们通过其暴露的属性进行配置.下面是一段连接字符串的示例. if (string.IsNullOrE ...
- C#-ado.net学习笔记-会有更新
ado.net 通用类对象.在本地内存暂存数据 托管类对象.让本地通用类对象连接数据库,让本地通用类对象和数据库同步 连接数据库 new connection(connectstring) comma ...
- react学习小结(生命周期- 实例化时期 - 存在期- 销毁时期)
react学习小结 本文是我学习react的阶段性小结,如果看官你是react资深玩家,那么还请就此打住移步他处,如果你想给一些建议和指导,那么还请轻拍~ 目前团队内对react的使用非常普遍,之 ...
- dubbo学习小结
dubbo学习小结 参考: https://blog.csdn.net/paul_wei2008/article/details/19355681 https://blog.csdn.net/liwe ...
- Git学习小结 ~ Lethe's Blog
学习自https://www.liaoxuefeng.com/wiki/896043488029600 一.创建版本库 (1) git init 初始化一个Git仓库 (2)添加文件到Git仓库,分两 ...
- AJAX学习小结
12345678910 $.ajax({ "url":"", //访问路径 "data":"", // 需要传输的数据 ...
- flex学习小结
接触到flex一个多月了,今天做一个学习小结.如果有知识错误或者意见不同的地方.欢迎交流指教. 画外音:先说一下,我是怎么接触到flex布局的.对于正在学习的童鞋们,我建议大家没事可以逛逛网站,看看人 ...
- Python 学习小结
python 学习小结 python 简明教程 1.python 文件 #!/etc/bin/python #coding=utf-8 2.main()函数 if __name__ == '__mai ...
- HTML语言学习笔记(会更新)
# HTML语言学习笔记(会更新) 一个html文件是由一系列的元素和标签组成的. 标签: 1.<html></html> 表示该文件为超文本标记语言(HTML)编写的.成对出 ...
随机推荐
- chrome扩展——Postman
今天须要測试一个http的接口,曾经都是使用java的httpClient工具jar,自己编写代码去调试,但这样的方式比較死板,每次都要执行一段代码...于是就像有没有类似的在线工具能够使用? 调查了 ...
- Entity Framework 教程(转)
预备知识 2 LINQ技术 2 LINQ技术的基础 - C#3.0 2 自动属性 2 隐式类型 2 对象初始化器与集合初始化器 3 匿名类 3 扩展方法 ...
- 【剑指Offer学习】【面试题19 :二叉树的镜像】
题目:请完毕一个函数,输入一个二叉树,该函数输出它的镜像. 二叉树结点的定义: /** * 二叉树的树结点 */ public static class BinaryTreeNode { int va ...
- 使用viewpager实现广告条轮询的效果
先上效果图: viewpager是google在v4-support包中提供的,使用时与listview类似,度需要提供一个adapter, 只不过viewpager提供的是PagerAdapter ...
- 在chrome下安装Proxy SwitchySharp插件
https://chrome.google.com/webstore/detail/dpplabbmogkhghncfbfdeeokoefdjegm
- 轮播图-JavaScript
轮播图一: <!doctype html> <html lang="en"> <head> <meta charset="UTF ...
- 这种写法用过没:string.Format("{0,-10}", 8)
1 2 3 4 var s1 = string.Format("{0,-10}", 8); var s2 = string.Format("{0,10}", 8 ...
- iOS开发篇-申请开发者账号流程
1.注册一个苹果的apple id申请apple id的地址: https://appleid.apple.com/account 2.如申请公司账号,请使用以下链接免费获取邓白氏号码,以下的申请表格 ...
- android 开发过程中碰到的 Failed to create the part's controls 问题
在开发android的过程中,遇到一个很奇怪的问题,出现了“ Failed to create the part's controls” 的错误,查询了N多资料,然后逐条删除代码测试, 后来发现是变量 ...
- MVC框架是什么
MVC (Modal View Controler)本来是存在于Desktop程序中的,M是指数据模型,V是指用户界面,C则是控制器.使用MVC的目的是将M和V的实现代码分离,从而使同一个程序可以使 ...