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. LINQ 101——约束、投影、排序

    什么是LINQ:LINQ 是一组 .NET Framework 扩展模块集合,内含语言集成查询.集合以及转换操作.它使用查询的本机语言语法来扩展 C# 和 Visual Basic,并提供利用这些功能 ...

  2. jQuery无刷新上传学习心得

    记得刚离开大学,进入目前这家公司不到一个月时,有一位前辈给我们当时的新人讲了下JS无刷新上传的相关知识. 在此之前,一直都是在使用C#提供的服务器上传控件FileUpload,但是每次使用时,都会刷新 ...

  3. [转载] CMake Official Tutorial——教程还是官方的好

    CMake官方教程传送门:https://cmake.org/cmake-tutorial/ 以下的内容跟官方教程基本一致,少数地方根据自己的测试有所改动: A Basic Starting Poin ...

  4. 169. Majority Element(C++)

    169. Majority Element Given an array of size n, find the majority element. The majority element is t ...

  5. 24种设计模式--抽象工厂模式【Abstract Factory Pattern】

    女娲造人,人是造出来了,世界是热闹了,可是低头一看,都是清一色的类型,缺少关爱.仇恨.喜怒哀乐等情绪,人类的生命太平淡了,女娲一想,猛然一拍脑袋,忘记给人类定义性别了,那怎么办?抹掉重来,然后就把人类 ...

  6. 更改css element.style

    样式后面加 !important就可以更改element.style的优先级了

  7. phpmyadmin数据导入最大限制的解决方法

    mysql导入文件最大限制更改解决方法:phpmyadmin库导入出错:You probably tried to upload too large file. Please refer to doc ...

  8. jquery技巧(持续更新。。)

    (1)集合处理功能         //为索引为0,1,2的元素分别设置不同的字体颜色         $('p').each(function(i){               this.styl ...

  9. 《python源码剖析》笔记一——python编译

    1.python的架构: 2.python源码的组织结构: 3.windows环境下编译python:

  10. 随机List中数据的排列顺序

    把1000个数随机放到1000个位置. 这也就是一个简单的面试题.觉得比较有意思.就顺带写一下 举个简单的例子吧. 学校统一考试的时候  有 1000个人,然后正好有 1000个考试位置,需要随机排列 ...