小弟正在学习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主要的组件:

  1.        Command Object
  2.        DataReader Object
  3.        Connection Object
  4.        DataAdapter Object
  5.        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】正在更新...的更多相关文章

  1. ado.net 学习小结

    连接数据源 Connection对象.Connection对象处于最顶层,是所有数据访问请求的关口.我们通过其暴露的属性进行配置.下面是一段连接字符串的示例. if (string.IsNullOrE ...

  2. C#-ado.net学习笔记-会有更新

    ado.net 通用类对象.在本地内存暂存数据 托管类对象.让本地通用类对象连接数据库,让本地通用类对象和数据库同步 连接数据库 new connection(connectstring) comma ...

  3. react学习小结(生命周期- 实例化时期 - 存在期- 销毁时期)

    react学习小结   本文是我学习react的阶段性小结,如果看官你是react资深玩家,那么还请就此打住移步他处,如果你想给一些建议和指导,那么还请轻拍~ 目前团队内对react的使用非常普遍,之 ...

  4. dubbo学习小结

    dubbo学习小结 参考: https://blog.csdn.net/paul_wei2008/article/details/19355681 https://blog.csdn.net/liwe ...

  5. Git学习小结 ~ Lethe's Blog

    学习自https://www.liaoxuefeng.com/wiki/896043488029600 一.创建版本库 (1) git init 初始化一个Git仓库 (2)添加文件到Git仓库,分两 ...

  6. AJAX学习小结

    12345678910 $.ajax({ "url":"", //访问路径 "data":"", // 需要传输的数据 ...

  7. flex学习小结

    接触到flex一个多月了,今天做一个学习小结.如果有知识错误或者意见不同的地方.欢迎交流指教. 画外音:先说一下,我是怎么接触到flex布局的.对于正在学习的童鞋们,我建议大家没事可以逛逛网站,看看人 ...

  8. Python 学习小结

    python 学习小结 python 简明教程 1.python 文件 #!/etc/bin/python #coding=utf-8 2.main()函数 if __name__ == '__mai ...

  9. HTML语言学习笔记(会更新)

    # HTML语言学习笔记(会更新) 一个html文件是由一系列的元素和标签组成的. 标签: 1.<html></html> 表示该文件为超文本标记语言(HTML)编写的.成对出 ...

随机推荐

  1. 彻底解决iOS项目中 &quot;_OBJC_CLASS_$_XXXService&quot;, referenced from: 的相似问题

    watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvbmllcGVuZzEwOQ==/font/5a6L5L2T/fontsize/400/fill/I0JBQk ...

  2. ListView视图缓存错位问题

    由于之前写Scroller应用:ListView滑动删除遇到Item视图错位问题,观察发现第1item位置改变后,第1+10的item布局也跟着改变.假设使用ScrollView+ListView,把 ...

  3. Calendar类的基本使用

    import java.util.Calendar; public class CalendarDemo{ public static void main(String[] args) { Calen ...

  4. Java基础知识强化之集合框架笔记65:Map集合之集合多层嵌套的数据分析

    1. 为了更符合要求: 这次的数据就看成是学生对象. 传智播客 bj 北京校区 jc  基础班 林青霞 27     风清扬 30      jy  就业班   赵雅芝 28  武鑫 29 sh 上海 ...

  5. js函数、表单验证

    惊天bug!!!在script里面只要有一点点错误,就都不执行了!!!所以每写一个方法,就跑一下,因为这个书写疏忽导致的bug不可估量!!! [笑哭,所以我才这么讨厌js么,后来真心的是一点都不想再看 ...

  6. java.lang.NoClassDefFoundError: com.nostra13.universalimageloader.core.DisplayImageOptions$Builder

    今天在使用Universal-image-loader开源插件的时候,一直出现了这么个错误.原因是在ADT22版本中导入jar包的方式不对. 正确的导入jar包方式: 在adt17的版本之后,导入第三 ...

  7. hibernate篇章一

    我只想说一句话FUCK! 昨晚查了一晚上资料. 今早细致勃勃的准备搭建环境,早上到现在失败!失败!失败!蛋疼 有兴趣的可以试试.我暂时搁置,去做分页了 有兴趣需要相关资料的可以查阅我的微博java66 ...

  8. 20151216JqueryUI---dialog代码备份

    $(function () { $('#search_button').button(); /*$('#reg').dialog({ focus:function(e,ui){ alert('注册') ...

  9. ASP.NET问题处理---targetFramwork=‘4.0’错误

    问题原因分析:系统没有下载 .NET framwork 4.0 版本的框架或者有下载但没使用. 解决办法: 打开iis上发布的“应用程序池”,并右键我们所发布的网站: 选择“添加应用程序池”: 最后选 ...

  10. MVC小系列(十九)【mvc与站点地图】

    我的MvcSiteMap地图主要由实体文件,XML配置文件,C#调用文件组成,当然为了前台调用方法,可以为HtmlHelper添加一个扩展方法 第一步 定义站点地图实体 public class Mv ...