小弟正在学习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 = 0; 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];
}

 

posted on 2015-08-27 15:23  BarneyX  阅读(268)  评论(0编辑  收藏  举报