ADO.NET包括多个对象模型,有Connection/Command/DataReader/DataAdapter/DataSet/DataTable/DataView等。

命名空间System.Data.SqlClient      用于SQL SERVER数据库

命名空间System.Data.Odbc

命名空间System.Data.OracleClient  用于Oracle数据库

Connection对象

用于连接到数据库和管理对数据库的事务。

连接的串一般是:

connectionString="Data Source=;
Initial Catalog=;
Integrated Security=false;
User ID=;
password="
常用方法:
open();
close();
dispose();//释放由Connection使用的所有资源。
 
Command对象
 
用来对数据源执行CRUD等操作,也可以是存储过程。
  
常用方法:
executeNonQuery();执行select的命令,返回所影响的行数
executeScalar();执行select,返回第一行第一列的值。count/sum等集函数
executeReader();执行select,返回dataReader对象。
 
DataReader对象

使用时始终用sqlconnection在线操作数据库,每次在内存中加载一条数据,开销很小

常用方法:

read();

NextResult();

close();不使用时关闭它

DataAdapter对象在DataSet和实际数据源之间的桥梁,专门为DataSet所服务。

两种工作步骤:

1:通过Command对象执行sql语句从数据源中检索数据,将检索的数据填充到DataSet表中

2:把用户对dataset对象做出的更改填写到数据源中

常用方法:

fill();//从数据源中提取数据以填充数据集

update();更新数据源

常用属性:

SelectCommand();

InsertCommand();

UpdateCommand();

DeletCommand();

DataSet对象

创建在内存中的集合对象,使用必须设置主键

DataTable对象用于表示DataSet中的表

DataView对象

用于排序/筛选/搜索/编辑和导航

 
第一种:
String connectionString="";
SqlConnection con = new SqlConnection(connectionString);
con.open();
SqlCommand cmd = new SqlCommand("select/等CRUD语句....";con);
SqlDataReader reader = cmd.ExecuteReader();
 
while(reader.Reader()){
Response.Write(reader["列名"]);
.....
 
}
reader.close();
con.close();
 
展示可以借用GirdView实现:
GirdView.DataSource=reader;
GirdView.DataBind();
 
第二种:
String connectionString="";
SqlConnection con = new SqlConnection(connectionString);

con.open();

SqlDataAdapter da = new SqlDataAdapter("CRUD语句",con);
DataSet ds = new DataSet();
da.Fill(ds);
 
String connectionString="";
SqlConnection con = new SqlConnection(connectionString);

con.open();

SqlCommand cmd = new SqlCommand("select/等CRUD语句....";con);
SqlDataAdapter da = new SqlDataAdapter(cmd);
DataSet ds = new DataSet();
da.Fill(ds);
 
String connectionString="";
SqlConnection con = new SqlConnection(connectionString);

con.open();

SqlDataAdapter da = new SqlDataAdapter();
da.SelectCommand = new SqlCommand("select/等CRUD语句....";con);
DataSet ds = new DataSet();
da.Fill(ds);
 
GirdView.DataSource = ds;
GirdView.DataBind();
 
 
 
 
 

C#开发学习——ADO.NET几个重要对象的更多相关文章

  1. 吴裕雄--天生自然 JAVASCRIPT开发学习:Math(算数) 对象

    <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title> ...

  2. 吴裕雄--天生自然 JAVASCRIPT开发学习:Array(数组) 对象

    <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title> ...

  3. 吴裕雄--天生自然 JAVASCRIPT开发学习:Date(日期) 对象

    <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title> ...

  4. .net 网站开发学习资源

    慕课网 前端基础学习 http://www.imooc.com/course/list?c=fe 了解需求 例子之一 http://wenku.it168.com/d_000517899.shtml ...

  5. 第15课-数据库开发及ado.net-数据库介绍,主键,外键,启动数据库,数据库身份验证方式,建表,分离数据库

    第15课-数据库开发及ado.net 数据库介绍,主键,外键,启动数据库,数据库身份验证方式,建表,分离数据库 1.  学习方法 2.  多涨见识 3.  比自己强的人一起,学习更强:比自己更聪明的人 ...

  6. delphi开发学习四:TClientDataSet与TDataSetProvider控件使用实例

    1.TClientDataSet控件 通过TClientDataSet控件可以建立瘦客户端的应用程序,且数据执行效率较高,但它不能和数据库自动连接,程序中必须制定它如何获取数据.一般情况下,TClie ...

  7. Android开发学习之路-RecyclerView滑动删除和拖动排序

    Android开发学习之路-RecyclerView使用初探 Android开发学习之路-RecyclerView的Item自定义动画及DefaultItemAnimator源码分析 Android开 ...

  8. web前端开发学习内容

    应该 具备的 知识技能 :懂web标准,熟练手写 xhtml css3 并符合 符合w3c标准                       代码能 兼容主流浏览器.ie6.7.8.9 ff 等.    ...

  9. Android开发学习路线图

    Android开发学习方法: Android是一个比较庞大的体系,从底层的Linux内核到上层的应用层,各部分的内容跨度也比较大.因此,一个好的学习方法对我们学习Android开发很重要. 在此建议, ...

随机推荐

  1. 网上流行的add(2)(3)(4)

    网上有很多其他的各样的算法.其实这题就可以用javascript属性arguments.callee来实现,代码如下: function add(x){ var result=0; return fu ...

  2. 正则版----getByClass函数

    function getByClass(oParent,sClass){ var arr = []; var aEle = oParent.getElementsByTagName('*'); //v ...

  3. Sublime Text 2中前端必备的常用插件

    Sublime Text 2安装的插件和所有预置的插件全部在Packages文件下,可以直接通过”preferences“—>”Browse Pakcages“来访问. Sublime Text ...

  4. Cohort Analysis Using Python

    Cohort Analysis是将某一个时期内的用户划分为一个cohort,并将多个cohort进行时间上的某个属性的比较的一种分析方法.Cohort Analysis在有些场景下非常有用.比如一个网 ...

  5. WorkerScript QML Type

    官方描述:在一个Qt Quick应用程序中可以使用线程了. Import Statement:     import QtQuick .属性:source : url信号:message(jsobje ...

  6. Python 关于正负无穷float(‘inf’)的一些用法

    Python中可以用如下方式表示正负无穷: float("inf"), float("-inf") 利用 inf 做简单加.乘算术运算仍会得到 inf > ...

  7. 【算法】一般冒泡排序 O(n^2) 稳定的 C语言

    冒泡排序 一.算法描述 假设序列中有N个元素: 第一趟选取第一个元素作为关键字,从左至右比较,若遇到比它小的则放到它左边(也即两数进行交换),若遇到比它大的,则改为选取该元素作为关键字完成后续的比较, ...

  8. 单元测试unit test,集成测试integration test和功能测试functional test的区别

    以下内容转自 https://codeutopia.net/blog/2015/04/11/what-are-unit-testing-integration-testing-and-function ...

  9. oralce闪回

    Oracle闪回操作 1. 记录当前时间或SCN 在数据库变动前记录时间或SCN SQL> select  to_char(sysdate,'YYYY-MM-DD HH24:mi:ss') fr ...

  10. Dataguard配置前提条件

    Data Guard配置前提条件 配置Data Guard必须保证以下前提条件: 1.Data Guard是Oracle企业版的组件.Oracle标准版里没有这个控件.所以Data Guard配置所使 ...