转至繁体中文版     | 网站首页 | 图文教程 | 资源下载 | 站长博客 | 图片素材 | 武汉seo | 武汉网站优化 | 
最新公告:     敏韬网|教学资源学习资料永久免费分享站!  [mintao  2008年9月2日]        
您现在的位置: 学习笔记 >> 图文教程 >> 站长学院 >> Web开发 >> 正文
亲密接触ASP.Net(9)         ★★★★

亲密接触ASP.Net(9)

作者:闵涛 文章来源:闵涛的学习笔记 点击数:546 更新时间:2009/4/23 10:39:04
我们继续前面的内容,呵呵,这次主要是讲DataSet的强大功能啦:)。上次吹了大家的
泡泡(说话不算数的意思,湖南人都能听懂吧:)),这次一定不能再食言了:)

在一个DataSet中储存多个数据表

我们在ASP中很多人习惯于使用RecordSet对象来操作数据库,但是RecordSet有一个的缺
点就是一个RecordSet只能储存一个数据表,当我们需要操作多个表时,不得不在多个Re
cordSet中来回操作,虽然这些在使用习惯后也没有什么,但是对一个新手来说,这也是
一个很麻烦人的事情。光是那些变量名就可以搞浑你,现在好了,在ASP.Net中,只需要
一个DataSet就可以搞定一切。大大的方便了我们的程序。我们还是老样子,先看一段程
序,再来细细讲解。

<% @ Page Language="C#" %>
<% @ Import Namespace="System.Data" %>
<% @ Import Namespace="System.Data.ADO" %>
<Script Language="C#" Runat="Server">
public void Page_Load(Object src,EventArgs e)
{
//联结语句
string MyConnString = "Driver={Microsoft Access Driver (*.mdb)};
DBQ=c:/test/test.mdb;";
string strComm1 = "select * from UserList";
string strComm2 = "select * from BookList";

//打开一个联结
ADOConnection MyConnection = new ADOConnection(MyConnString);

//打开两个DataSetCommand
ADODataSetCommand MyComm1 = new ADODataSetCommand(strComm1,MyConnection);
ADODataSetCommand MyComm2 = new ADODataSetCommand(strComm2,MyConnection);

DataSet MyDataSet = new DataSet();

//把UserList,BookList表存入DataSet
MyComm1.FillDataSet(MyDataSet,"UserList");
MyComm2.FillDataSet(MyDataSet,"BookList");

DataGrid1.DataSource = MyDataSet.Tables["UserList"].DefaultView;
DataGrid2.DataSource = MyDataSet.Tables["BookList"].DefaultView;

DataGrid1.DataBind();
DataGrid2.DataBind();
}
</script>
<html>
<head>
<title></title>
</head>
<body>
<table>
<tr>
<td>
<ASP:DataGrid id="DataGrid1" runat="server"
BorderColor="black"
BorderWidth="1"
GridLines="Both"
CellPadding="3"
CellSpacing="0"
Font-Name="Verdana"
Font-Size="8pt"
HeaderStyle-BackColor="#aaaadd"
AlternatingItemStyle-BackColor="#eeeeee"
/>
</td>
<td>
<ASP:DataGrid id="DataGrid2" runat="server"
BorderColor="black"
BorderWidth="1"
GridLines="Both"
CellPadding="3"
CellSpacing="0"
Font-Name="Verdana"
Font-Size="8pt"
HeaderStyle-BackColor="#aaaadd"
AlternatingItemStyle-BackColor="#eeeeee"
/>
</td>
</tr>
</table>
</body>
</html>

在上面的例子中,我们打开了一个名为test.mdb的Access数据库,然后把他其中的两个
表"UserList"和"BookList"使用两个DataGrid控件显示出来。显示的图片如下:


图9-1

我们现在来分析一下代码:

string MyConnString = "Driver={Microsoft Access Driver (*.mdb)};
DBQ=c:/test/test.mdb;";
string strComm1 = "select * from UserList";
string strComm2 = "select * from BookList";

ADOConnection MyConnection = new ADOConnection(MyConnString);

ADODataSetCommand MyComm1 = new ADODataSetCommand(strComm1,MyConnection);
ADODataSetCommand MyComm2 = new ADODataSetCommand(strComm2,MyConnection);

这些都只是在作一些准备工作,打开一个联结,并且打开两个DataSetCommand取得两个
表的数据。

DataSet MyDataSet = new DataSet();

这是我们程序的关键之地,这里打开了我们要操作的DataSet对象。下面我们就需要将数
据表的内容填入DataSet了。

MyComm1.FillDataSet(MyDataSet,"UserList");
MyComm2.FillDataSet(MyDataSet,"BookList");

这里是我们今天的主要内容。前面的几章曾经说过,在一个DataSet中可以包含多种数据
,这里我们是往这个名为MyDataSet的DataSet中存放了两个数据库表,其实只要愿意,
我们还可以在里面插入XML数据,而且他们是不会出现冲突的。大家可以放心使用,呵呵


再下面的代码,就是把MyDataSet的数据传送给DataGrid控件显示。这里就不多说了。

这里我们只是简单的说了一下DataSet能存放多个数据表的功能,大家看看好像没有什么
特别的。这里看起来确实好像没有什么特别的功能,但是如果配上DataSet中的修改、添
加、删除功能,我们操作数据库就变得很简单。我们可以先将数据库读入DataSet,然后
在DataSet中修改数据,如果改得觉得不满意,我们还可以使用RejectChanges方法全面
恢复,最后一并交给去数据库去更新。

下一节,我们再来讲解,如何使用DataSet来添加,修改,删除数据。


[C语言系列]NET 中C#的switch语句的语法  [系统软件]托拽Explore中的文件到VB.net的窗口
[系统软件]Boost库在XP+Visual C++.net中的安装  [常用软件]新配色面板:Paint.Net3.0RC1官方下载
[常用软件]用内建的“Net Meeting”聊天  [VB.NET程序]Henry的VB.NET之旅(三)—共享成员
[VB.NET程序]Henry的VB.NET之旅(二)—构造与析构  [VB.NET程序]Henry的VB.NET之旅(一)—失踪的窗体
[VB.NET程序]在托盘上显示Balloon Tooltip(VB.NET)  [VB.NET程序]Henry手记-VB.NET中动态加载Treeview节点(二)
教程录入:mintao    责任编辑:mintao 
  • 上一篇教程:

  • 下一篇教程:
  • 【字体: 】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
      注:本站部分文章源于互联网,版权归原作者所有!如有侵权,请原作者与本站联系,本站将立即删除! 本站文章除特别注明外均可转载,但需注明出处! [MinTao学以致用网]
      网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)

    同类栏目
    · Web开发  · 网页制作
    · 平面设计  · 网站运营
    · 网站推广  · 搜索优化
    · 建站心得  · 站长故事
    · 互联动态
    更多内容
    热门推荐 更多内容
  • 没有教程
  • 赞助链接
    更多内容
    闵涛博文 更多关于武汉SEO的内容
    500 - 内部服务器错误。

    500 - 内部服务器错误。

    您查找的资源存在问题,因而无法显示。

    | 设为首页 |加入收藏 | 联系站长 | 友情链接 | 版权申明 | 广告服务
    MinTao学以致用网

    Copyright @ 2007-2012 敏韬网(敏而好学,文韬武略--MinTao.Net)(学习笔记) Inc All Rights Reserved.
    闵涛 投放广告、内容合作请Q我! E_mail:admin@mintao.net(欢迎提供学习资源)

    站长:MinTao ICP备案号:鄂ICP备11006601号-18

    闵涛站盟:医药大全-武穴网A打造BCD……
    咸宁网络警察报警平台