zoukankan      html  css  js  c++  java
  • 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主要的组件:

    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];
    }
  • 相关阅读:
    雪花算法解决的问题
    ServiceStack6000次限制破解
    电商 详情页面 nginx 配置 优先请求静态页,若没有请求动态页,同时生成静态页
    docker 使用汇总
    .net 5 新特性 -- EFCoreDBFirst 介绍 和 .NET5 AOP 5个Filter
    模板方法设计模式:定义抽象类-模板:定义业务流程,执行步骤--》各业务类继承抽象类,实现各自不同 具体的执行步骤
    通过代理模式(包一层),实现对业务增加功能如日志,异常处理,缓存结果,到达不破坏原有的业务代码,扩展了功能
    设计模式
    mongodb 基本操作(增删改查),事务,数据失效机制
    log4net.Config
  • 原文地址:https://www.cnblogs.com/flay/p/4763435.html
Copyright © 2011-2022 走看看