当前位置: 首页 > 图文教程 > 网络编程 > ASP.NET > ASP.NET中数据库的操作初步(2)

ASP.NET
赫赫大名的A*寻路算法(vb.net版本)
asp.net(c#)下Jmai去说明 使用与下载
[原创]完美解决Could not load file or assembly ''AjaxPro.2'' or one of its dependencies. 拒绝访问。
asp.net下gridview 批量删除的实现方法
用CSS实现图片倾斜 只支持IE
.net get set用法小结
vs 不显示行号的操作方法
ASP.NET页面进行GZIP压缩优化的几款压缩模块的使用简介及应用测试!(附源码)
ASP.Net不执行问题一解
asp.net 无限分类
让VS2008对JQuery语法的智能感知更完美一点
扩展方法ToJSON() and ParseJSON()
asp.net下PageMethods使用技巧
Linq to SQL Delete时遇到问题的解决方法
实现ASP.NET多文件上传程序代码
ASP.NET AJAX 1.0 RC开发10分钟图解
asp.net get set用法
ASP.NET下使用WScript.Shell执行命令
asp.net2.0实现邮件发送(测试成功)
Asp.net 无限级分类实例代码

ASP.NET中数据库的操作初步(2)


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-11-03   浏览: 35 ::
收藏到网摘: n/a

ASP.NET中数据库的操作初步----DataSet操作数据库


面我们已经说了如何操作数据库,但几乎全部是通过OleDbCommand和OleDbDataReader来做的,这次我们说说如何通过OleDbDataAdapter来操作数据库!关于OleDbDataAdapter的用法实际上我们在以前已经讲过了,由于OleDbDataAdapter是DataSet和数据源之间建立联系的一个桥梁,而DataSet用于对单层数据、XML 数据和关系数据进行存储、远程处理和编程!。
我们曾经讲过利用Command来对数据库进行增加、删除和修改操作,但是我们利用DataSet和DataAdapter能够更加方便的对数据库进行操作,基本是我们可以认为DataSet是专门为WEB而设计的,这也是ADO.NET和ADO的一个重要的区别。
下面是DataSet和SQL数据的的关系图, 通过这个图我们可以看出DataSet和DataAdapter以及SQL数据库的关系。


下面我们来讲解一下如何利用DataSet和DataAdapter来操作上据库
MyConnection.Open(); //打开数据库,请参考前面文章的内容
MyCommand.Connection = MyConnection; //设置Command,请参考前面文章的内容
MyCommand. CommandText = “select * from admin”; //设置Command,参考前面文章的内容
OleDbDataAdapter MyDataAdapter = new OleDbDataAdapter(); //定义OleDbDataAdapte对象
MyDataAdapter.SelectCommand = MyCommand; //设置OleDbDataAdapte对象的SelectCommand属性
System.Data.DataSet MyDataSet = new System.Data.DataSet(); //定义DataSet
MyDataAdapter.Fill(MyDataSet,"admin"); //通过OleDbDataAdapte对象的SelectCommand属性填充MyDataSet
MyConnection.Close(); //关闭数据库

整个过程分以下几步:
1.建立数据库连接(打开数据库,请参考前面文章的内容)
2.建立OleDbDataAdapter对象!
3.实例化OleDbDataAdapter对象!
4.建立一个DataSet对象,执行SQL语句得到的表添加到其中
5.关闭数据库连接
通过上面的步骤我们就可以使用DataBind将DataSet中的数据绑定到特定的控件上了!(下一章我们将讲解如何邦定数据库)
我们说过但是我们可以利用DataSet和DataAdapter能够更加方便的对数据库进行操作,如何通过OleDbDataAdapter来执行数据库的操作的,我们只需要对DataSet中的数据进行增加、删除、修改等操作,然后在将DataSet提交给数据库即可
//利用利用DataSet和DataAdapter操作数据库
public Boolean DoDB()
{
MyConnection.Open(); //打开数据库,请参考前面文章的内容
MyCommand.Connection = MyConnection; //设置Command,请参考前面文章的内容
MyCommand. CommandText = “select * from admin”; //设置Command,参考前面文章的内容
OleDbDataAdapter MyDataAdapter = new OleDbDataAdapter(); //定义OleDbDataAdapte对象
MyDataAdapter.SelectCommand = MyCommand; //设置OleDbDataAdapte对象的SelectCommand属性
System.Data.DataSet MyDataSet = new System.Data.DataSet(); //定义DataSet
MyDataAdapter.Fill(MyDataSet,"admin"); //通过OleDbDataAdapte对象的SelectCommand属性填充MyDataSet

OleDbCommandBuilder MyCommandBuild = new OleDbCommandBuilder(MyDataAdapter);//关联DataSet和数据库的操作的,必不可少
foreach(DataRow dr in MyDataSet.Tables["Admin"].Rows)
{
if(dr["Admin_Code"].ToString().Trim().Equals("a"))
{
dr.Delete(); //删除DataSet 中的行
}
}
MyDataSet.Tables["Admin"].Rows[0][0] = "ss";//更新DataSet中第一行第一列的值
string [] dd = new String{"a","b","v"};
MyDataSet.Tables["Admin"].Rows.Add(dd);//增加一行
MyDataAdapter.Update(MyDataSet,"Admin");//将DataSet中”Admin”表中的数据提交给数据库,完成数据库的更新
MyConnection.Close();//关闭数据库
}

这个程序和我们前面用到的利用Command的delete、insert、update例程是执行同样的功能的,我这里改成了用MyDataAdapter来达到同样的效果!

要通过MyDataAdapter执行对数据库的操作,我们要有下面的几步:

1. 建立数据库连接MyConnection
2. 实例化OleDbDataAdapter对象!
3. 建立一个DataSet对象,并把执行select语句得到的记录添加到其中
4. 建立OleDbCommandBuilder对象! 并让它与我们前面的OleDbDataAdapter对象关联!语句如下:OleDbCommandBuilder MyCommandBuild = new OleDbCommandBuilder(MyDataAdapter);
5. 对DataSet中包含表的特定记录进行增加、删除、修改

6. 执行OleDbDataAdapter对象的Update命令更新数据库,语句如下: MyDataAdapter.Update(ds,"notes");
7. 关闭数据库连接