目录

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>)
{
foreach (SqlParameter parm in parms)
adapter.SelectCommand.Parameters.Add(parm);
}
adapter.Fill(ds);
return ds;
}

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

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

ADO.NET详细学习笔记《一》的更多相关文章

  1. Hbase技术详细学习笔记

    注:转自 Hbase技术详细学习笔记 最近在逐步跟进Hbase的相关工作,由于之前对Hbase并不怎么了解,因此系统地学习了下Hbase,为了加深对Hbase的理解,对相关知识点做了笔记,并在组内进行 ...

  2. 基于【 MySql 】二 || mysql详细学习笔记

    mysql重点学习笔记 /* Windows服务 */ -- 启动MySQL net start mysql -- 创建Windows服务 sc create mysql binPath= mysql ...

  3. ADO。net学习笔记

    来源于网络 1.       SqlConnection(DBConnection)  建立程序与数据库的链接 链接字符串有两种形式: //使用Windows验证  SSPI(安全支持提供程序接口) ...

  4. ADO.NET 基础学习笔记1

    1. ODBC.OLEDB.ADO.ADO.NET之间的关系 ODBC: 开放数据库互连(ODBC)是MICROSOFT提出的数据库访问接口标准.ODBC(Open DatabaseConnectiv ...

  5. MySQL 详细学习笔记 转

    Windows服务 -- 启动MySQL net start mysql -- 创建Windows服务 sc create mysql binPath= mysqld_bin_path(注意:等号与值 ...

  6. 一千行 MySQL 详细学习笔记

    Windows服务 -- 启动MySQL net start mysql -- 创建Windows服务 sc create mysql binPath= mysqld_bin_path(注意:等号与值 ...

  7. MySQL 详细学习笔记

    Windows服务 -- 启动MySQL net start mysql -- 创建Windows服务 sc create mysql binPath= mysqld_bin_path(注意:等号与值 ...

  8. stl源码剖析 详细学习笔记 set map

    // //  set map.cpp //  笔记 // //  Created by fam on 15/3/23. // // //---------------------------15/03 ...

  9. stl源码剖析 详细学习笔记 RB_tree (2)

    //---------------------------15/03/22---------------------------- //一直好奇KeyOfValue是什么,查了下就是一个和仿函数差不多 ...

随机推荐

  1. 2017.11.15 String、StringBuffer、StringBuilder的比较(todo)

    参考来自:http://blog.csdn.net/jeffleo/article/details/52194433 1.速度 一般来说,三者的速度是:StringBuilder > Strin ...

  2. Django——20141014深入理解Django HttpRequest HttpResponse的类和实例

    深入理解Django HttpRequest HttpResponse的类和实例 了解META选项 了解中间件 理清所有模板传输模板变量的方式,并作出选择 Django模板系统:如何利用Django模 ...

  3. 一个我用来上传代码到Github的 Shell 脚本

    因为用git老是要敲许多命令.所以写了个小脚本.代码如下: #! /bin/sh echo Going to simpleWebtest... cd ~/softwaredevelopment/wor ...

  4. POI动态生成word2007加强版

    先看效果图: watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvcXFfMjAzODkxNzU=/font/5a6L5L2T/fontsize/400/fill ...

  5. php如何通过get方法发送http请求,并且得到返回的参数

    向指定的url发送参数,这是一个跨域访问问题,具体事例如下:/test.php<?php$ch = curl_init(); $str ='http://127.0.0.1/form.php?i ...

  6. curl Error : maximum redirects followed , 这种问题的一种原因 .

    在stack overflow 上查找到有些网站上需要返回一些cookie的,所以当我们curl当相应的网站时,必须要将返回的cookie保存起来. $cookie = tempnam (" ...

  7. JanusGraph的schema及数据建模

    每个JanusGraph都有一个schema,该schema由edge labels, property keys和vertex labels组成.JanusGraph的schema可以显式或隐式创建 ...

  8. Dapper用法小记

    https://github.com/StackExchange/Dapper dapper in 查询 string sql = "SELECT * FROM SomeTable WHER ...

  9. TensorFlow学习笔记 补充2—— 生成特殊张量

    1. 生成tensor tf.zeros(shape, dtype=tf.float32, name=None) tf.zeros_like(tensor, dtype=None, name=None ...

  10. unity, 内存profile,ImageEffects Temp和Unity GI SystemTex RGBM

    最近用unity的Profiler对公司项目进行内存profile,发现一些问题,记录一下. 用Memory Area的Detailed View,用法见:http://docs.unity3d.co ...