ADO.NET详细学习笔记《一》
目录
【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详细学习笔记《一》的更多相关文章
- Hbase技术详细学习笔记
注:转自 Hbase技术详细学习笔记 最近在逐步跟进Hbase的相关工作,由于之前对Hbase并不怎么了解,因此系统地学习了下Hbase,为了加深对Hbase的理解,对相关知识点做了笔记,并在组内进行 ...
- 基于【 MySql 】二 || mysql详细学习笔记
mysql重点学习笔记 /* Windows服务 */ -- 启动MySQL net start mysql -- 创建Windows服务 sc create mysql binPath= mysql ...
- ADO。net学习笔记
来源于网络 1. SqlConnection(DBConnection) 建立程序与数据库的链接 链接字符串有两种形式: //使用Windows验证 SSPI(安全支持提供程序接口) ...
- ADO.NET 基础学习笔记1
1. ODBC.OLEDB.ADO.ADO.NET之间的关系 ODBC: 开放数据库互连(ODBC)是MICROSOFT提出的数据库访问接口标准.ODBC(Open DatabaseConnectiv ...
- MySQL 详细学习笔记 转
Windows服务 -- 启动MySQL net start mysql -- 创建Windows服务 sc create mysql binPath= mysqld_bin_path(注意:等号与值 ...
- 一千行 MySQL 详细学习笔记
Windows服务 -- 启动MySQL net start mysql -- 创建Windows服务 sc create mysql binPath= mysqld_bin_path(注意:等号与值 ...
- MySQL 详细学习笔记
Windows服务 -- 启动MySQL net start mysql -- 创建Windows服务 sc create mysql binPath= mysqld_bin_path(注意:等号与值 ...
- stl源码剖析 详细学习笔记 set map
// // set map.cpp // 笔记 // // Created by fam on 15/3/23. // // //---------------------------15/03 ...
- stl源码剖析 详细学习笔记 RB_tree (2)
//---------------------------15/03/22---------------------------- //一直好奇KeyOfValue是什么,查了下就是一个和仿函数差不多 ...
随机推荐
- [Flutter] Creating & Updating State in a Flutter Application
To create a Stateful widget: 1. Create a StatefulWidget 2. Create a State class SGreeting extends St ...
- Androidproject师进阶之路 :《Android开发进阶:从小工到专家》上市啦!
封面 文件夹1 文件夹2 - 当当购买链接 - 京东购买链接 为什么写这本书 写这本书的念头由来已久了. 或许是从我打算写<Android源代码设计模式解析与实战>那时起就萌生了这个念头, ...
- STM32f103按键检测程序实现长按短按
背景 只要使用单片机,按键检测基本上是一定要实现的功能.按键检测要好用,最重要的是实时和去抖.初学者往往会在主循环调用按键检测程序(实时)并利用延时去抖(准确).这种在主循环内延时的做法对整个程序非常 ...
- jsoup爬虫简书首页数据做个小Demo
代码地址如下:http://www.demodashi.com/demo/11643.html 昨天LZ去面试,遇到一个大牛,被血虐一番,发现自己基础还是很薄弱,对java一些原理掌握的还是不够稳固, ...
- cookie 与 session 的差别、联系
1.存放位置: Session 存放在server端. Cookie 存放在client: 2.保存形式: Session保存在server的内存中(在server端设置超时时间,与浏览器设置无关): ...
- 将 ASP.NET Core 2.0 项目升级至 ASP.NET Core 2.1
主要升级步骤如下: 将 .csproj 项目文件中的 target framework 改为 netcoreapp2.1 <TargetFramework>netcoreapp2.1< ...
- kafka分布式搭建
kafka分布式搭建 (192.168.230.129)master (192.168.230.130)slave1 (192.168.230.131)salve2 在master.slave1.sl ...
- 基于tornado实现web camera
基于tornado实现web camera 近期在学习python.找了一个框架学习,我选择的是tornado.由于其不仅仅是一个web开发框架,其还是一个server,异步事件库,一举多得. 我一直 ...
- Angular 2 组件之间如何通信?
组件之间的共享可以有好几种方式 http://learnangular2.com/outputs/ 实例参考https://angular.io/docs/ts/latest/cookbook/com ...
- Atitit. atiOrder Order 订单管理框架的设计
Atitit. atiOrder Order 订单管理框架的设计 1. Order 订单处理流程1 2. code2 3. Ref7 1. Order 订单处理流程 if(userSvr.isNo ...