下文转自:http://hi.baidu.com/%CE%C4%D6%AA%CF%FE/blog/item/f87b386608bb5e2eaa184c5a.html
在此多谢博主文知晓!
作用:利用DataReader阅读类,执行数据的“只向前”的读取。
问:什么是DataReader?
答:ADO.NET DataReader对象可以从数据库中检索只读、只进的数据流。因为每次在内存中的数据只有一行,所以使用DataReader可提高应用程序的性能并 减少系统开销。它还提供了未缓冲的数据流,该数据流使过程逻辑可以有效地按顺序处理从数据源中返回的结果。由于数据不在内存中缓存,所以在检索大量数据 时,DataReader是一种合适的选择。
string strConn="Provider=Microsoft.Jet.OLEDB.4.0;Data Source="+Server.MapPath ("db1.mdb");//ACCESS链接字符串
OleDbConnection ConnAcc=new OleDbConnection (strConn); //OleDb链接类的实例化
ConnAcc.Open ();//打开数据库
string strSQL="SELECT * FROM 表名1";//SQL语句
OleDbCommand cmd = new OleDbCommand(strSQL,ConnAcc);//创建Command命令对象
OldDbDataReader dr=cmd.ExecuteReader();//创建DataReader对象,并调用ExecuteReader从数据源检索行
dr.Read();//启动阅读器的Read方法,返回行的每一列
//..数据读取..
备注
若要创建 OleDbDataReader,必须调用 OleDbCommand 对象的 ExecuteReader 方法,而不能直接使用构造函数。
在使用 OleDbDataReader 时,相关联的 OleDbConnection 忙于为 OleDbDataReader 服务,对 OleDbConnection 不能执行任何其他操作,只能关闭。这种情况会一直持续到调用 OleDbDataReader 的 Close 方法为止。例如,在调用 Close 之前,无法检索输出参数。
dr.Close();//关闭阅读器
ConnAcc.Close();//关闭数据库
作用:利用DataSet,DataAdapter读取数据。
问:什么是DataSet?
答:DataSet对象与ADO Recordset对象相似,但功能更为强大,并具有另一重要区别:DataSet始终是断开的。DataSet对象表示数据的缓存,具有类似数据的结 构,如表、列、关系和约束。但是,尽管DataSet可以像数据库那样运行,但重要的是要记住:DataSet对象不直接与数据或其他源数据进行交互。这 使得开发人员能够使用始终保持一致的编程模型,而不用理会源数据的驻留位置。
问:什么是DataAdapter?
答:DataAdapter对象在DataSet与数据源之间起桥梁作用。
//ACCESS链接字符串
string strConn="Provider=Microsoft.Jet.OLEDB.4.0;Data Source="+Server.MapPath ("db1.mdb");
//OleDb链接类的实例化
OleDbConnection ConnAcc=new OleDbConnection (strConn);
//打开数据库
ConnAcc.Open ();
//要执行的SQL语句
string strSQL="SELECT * FROM 表名1 ";
//创建DataAdapter数据适配器实例
OleDbDataAdapter da=new OleDbDataAdapter(strSQL,ConnAcc);
//创建DataSet实例
DataSet ds=new DataSet();
//使用DataAdapter的Fill方法(填充),调用SELECT命令
da.Fill(ds,"自定义虚拟表名");
//关闭数据库
ConnAcc.Close ();
作用:利用ExecuteNonQuery,执行数据的插入、更新、删除。
问:什么是ExecuteNonQuery?
答:在ADO.NET中,ExecuteNonQuery方法用于执行不需要返回结果的命令,如插入、删除和更新等操作。
//ACCESS链接字符串
string strConn="Provider=Microsoft.Jet.OLEDB.4.0;Data Source="+Server.MapPath ("db1.mdb");
OleDbConnection ConnAcc=new OleDbConnection (strConn); //OleDb链接类的实例化
ConnAcc.Open ();//打开数据库
string strSQL="INSERT INTO 表名1、UPDATE 表名1 SET、DELETE FROM 表名1";//插入、更新、删除的SQL语句
OleDbCommand cmd=new OleDbCommand (strSQL,ConnAcc);//创建Command命令对象
cmd.ExecuteNonQuery();//执行命令
ConnAcc.Close ();//关闭数据库
作用:利用ExecuteScalar统计数据。
问:什么是ExecuteScalar?
答:ExecuteScalar方法可以返回单个值,如求和、总行数等SQL语句的聚合函数。
//ACCESS链接字符串
string strConn="Provider=Microsoft.Jet.OLEDB.4.0;Data Source="+Server.MapPath ("db1.mdb");
OleDbConnection ConnAcc=new OleDbConnection (strConn); //OleDb链接类的实例化
ConnAcc.Open ();//打开数据库
string strSQL="SELECT COUNT(*) FROM 表名1";//SQL统计,SUM等等
OleDbCommand cmd = new OleDbCommand(strSQL,ConnAcc);//创建Command命令对象
int intNum=(int)cmd.ExecuteScalar();//得到统计数,SUM则用double
ConnAcc.Close();//关闭数据库
注:使用SQL Server请将关键字OleDb改为Sql,并修改字符串strConn为SQL Server链接参数即可。
在 web.config 文件中:
<connectionStrings>
<add name="ACCESSCONNECTIONSTRING" connectionString="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=F:/Socut.mdb"
providerName="System.Data.OleDb" />
</connectionStrings>
注: Data Source :可为绝对路径,相对路径