★ 浅谈如何使用ADO.NET操作数据库 ★
原创
©著作权归作者所有:来自51CTO博客作者武凯杰的原创作品,请联系作者获取转载授权,否则将追究法律责任
上一篇介绍了怎么去连接数据库,这次呢,来谈谈在数据库中的一些操作
我们知道,要想获得查询的记录集,仅仅靠DBCommand是无法完成的,因此要借助DataReader来获得所查询的记录。例如:
SqlCommand myComm = new SqlCommand();
myComm.CommandText = “SELECT * FROM UserInfo WHERE UserName = @UserName ”;
myComm.Parameters.Add( “@UserName”, yourValue );
SqlDataReader myReader = myComm.ExecuteReader();
while( myReader.Read() )
{
myReader.GetValue( index );// Get value through specific index
}
myReader.Close();
myComm.Dispose();
所以在DataReader中比较常见的两个方法,就是Read和GetValue,前者是判断是否读出记录,后者是获得记录中某个字段的值,其返回是object类型对象,需要进行类型转换才能得到想要得字段值。
可惜的是,DataReader每次只能读出一行记录,因此在使用它的时候,查询结果要逐行读取,其间它对DBConnection是独享,即不能在此时刻用同一个DBConnection去做其它的数据库操作。
要提的一点是,在ADO.NET中提供了一个更好的、更方便的数据操作工具,即DataAdapter类。对于一个DataAdapter对象,可以设置四个DBCommand,分别是SelectCommand、InsertCommand、DeleteCommand、UpdateCommand.而这四个DBCommand并不需要全部初始化,主要是看程序的具体要求,如果只是用到查询方面,那么只需要设定一下SelectCommand即可,这和一般的DBCommand操作一样(参看前面的DBCommand部分说明)。
对于DataAdapter操作返回的记录集,需要用DataSet来进行辅助操作,例如:
获得查询的记录集
DataAdapter.Fill( DataSet, “yourTableName” );// “yourTableName” is the name using in data set
更新数据库
DataAdapter.Update( DataSet, “yourTableName” );
此处要注意的是:
1. 首先DataSet要发生变化,如果和Fill之后一样,对数据库则没什么影响;
2. 再者要设置InsertCommand、DeleteCommand、UpdateCommand,如果不设置对应操作语句,则一样对数据库没任何影响。
相对而言,DataAdapter效率要差一些,但是避免了一些操作,读取记录集,对获得记录数据进行类型转换等等。同时其对DBConnection的占有只是在对数据库操作的时候,操作完即立刻释放。因此,强烈建议多使用DataAdapter,而少使用DataReader.
在文章的结尾,要说明的,以上所提到的只是数据库操作的虚类名,如果程序真正操作数据库,则要根据数据库的不同,选择不同子类来建立对象。具体说明如下:
数据库
子类列表
SQL Server
SqlConnection、SqlCommand、SqlDataReader、SqlDataAdapter
Oracle
OracleConnection、OracleCommand、OracleDataReader、racleDataAdapter
其它
OleDbConnection、OleDbCommand、OleDbDataReader、OleDbDataAdapter
注:DataSet与数据库类型无关。
提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章
-
node之使用express操作数据库跟身份认证
node之使用express操作数据库跟身份认证
字符串 开发模式 客户端 -
ADO.NET操作数据库
ADO.NET操作数据库
asp.net Text System 数据库 -
ADO.NET操作数据库(查询)
ADO.NET操作数据库(查询)
sql ADO.NET -
ADO.NET操作数据库(删除)
ADO.NET操作数据库(删除)
ADO.NET操作数据库(删除) -
ADO.NET操作数据库的基本方法 数据库 ado
ADO是微软一套访问数据源的对象组件模型(COM),它是MDAC(微软数据访问组件)的一部分,MDAC结构如下图: &nbs
ADO.NET操作数据库的基本方法 操作数 数据源 封装 -
VC++ 使用ADO操作数据库
>基础环境设置初始化com库 使用AfxOleInit()函数,可以在MFC环境中使用.>定
sql 初始化 环境设置 服务器 数据集 -
使用ADO.NET访问数据库
一、ADO.NET:数据库访问的方法和技术。...
sql .net 数据库 数据源 数据库连接