zoukankan      html  css  js  c++  java
  • ADO.NET详细学习笔记《一》

    目录

    ADO.NET和ADO的区别

    ADO.NET的五大核心对象

    Connection对象

    Command对象

    DataAdapter对象,DataSet对象

    DataReader对象

    【1】ADO.NET和ADO的区别

    ADO以Recordset存储,而ADO.NET则以DataSet表示。Recordset看起来更像单表,如果让Recordset以多表的方式表示就必须在SQL中进行多表连接。反之,DataSet可以是多个表的集合。ADO 的运作是一种在线方式,这意味着不论是浏览或更新数据都必须是实时的。ADO.NET则使用离线方式,在访问数据的时候ADO.NET会利用XML制作数据的一份幅本,ADO.NET的数据库连接也只有在这段时间需要在线。

    由于ADO使用COM技术,这就要求所使用的数据类型必须符合COM规范,而ADO.NET基于XML格式,数据类型更为丰富并且不需要再做COM编排导致的数据类型转换,从而提高了整体性能。

    【2】ADO.NET的五大核心对象

    Connection,Command,DataAdapter,DataSet,DataReader

    【3】不同命名空间下的Connection对象

    【4】连接数据库的字符串,2种方式:

    使用SQL 用户名和密码登录:

    使用Windows身份验证登录:

    【5】Command对象中的几个主要成员:

    返回第一行第一列的数据,即第一个单元格的数据。

    SqlCommand cmd = new SqlCommand();

    cmd.Connection = conn;

    cmd.CommandText = sql;

    以上三句等价于SqlCommand cmd = new SqlCommand(sql,conn);

    如果命名中要传参数SqlParameter[] pas,要在命令执行之前添加参数

    if (pas!= null)
    {
    foreach (SqlParameter parm in pas)
    cmd.Parameters.Add(parm);
    }

    【6】DataAdapter对象:实现查询,返回数据集。查询数据,运输数据。

    填充数据的基本步骤:

    例子:

     public DataSet ExecuteReturnDataSet(string sql, params SqlParameter[] parms)
            {
                DataSet ds=new DataSet();
                SqlConnection connection = new SqlConnection(ConnStr)
                SqlDataAdapter adapter = new SqlDataAdapter(sql,connection);
                    if (parms != null&&parms.Length>0)
                    {
                        foreach (SqlParameter parm in parms)
                            adapter.SelectCommand.Parameters.Add(parm);
                    }
                adapter.Fill(ds);
                return ds;
            }

    【7】DataReader(数据阅读器):一般用于读取一条数据,多条选择DataSet

    DataReader对象是五大对象里面唯一不能直接NEW的对象,需要通过Command对象的ExecuteReader来创建DataReader

  • 相关阅读:
    Python3学习之路~0 目录
    HIVE简单操作
    HIVE的安装
    mysql在linux上的安装
    BZOJ 1085(IDA*)
    Codeforces 916E(思维+dfs序+线段树+LCA)
    Codeforces 396C (DFS序+线段树)
    Codeforces 609E (Kruskal求最小生成树+树上倍增求LCA)
    Codeforces 191C (LCA+树上差分算法)
    POJ 1905 题解(二分+几何)
  • 原文地址:https://www.cnblogs.com/abc8023/p/3908460.html
Copyright © 2011-2022 走看看