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();