首页 > 编程 > .NET > 正文

ASP.NET数据库编程 (3)

2024-07-10 13:02:52
字体:
来源:转载
供稿:网友
  显示dataset

  前面我们已经把数据准备好。下面我们来看看如何显示dataset中的数据。在asp.net中,显示dataset的常用控件是datagrid,它是asp.net中的一个html控件,可以很好地表现为一个表格,表格的外观可以任意控制,甚至可以分页显示。这里我们只需要简单地使用它:

  <asp:datagrid id="datagridname" runat="server"/> 

  剩下的任务就是把dataset绑定到这个datagrid,绑定是asp.net的重要概念,我们将另文讲解。一般来说,你需要把一个dataview绑定到datagrid,而不是直接绑定dataset。好在dataset有一个缺省的dataview,下面我们就把它和datagrid绑定:
myfirstdatagrid.datasource = _
objdataset.tables("author information").defaultview
myfirstdatagrid.databind()


  dataset的用法
  dataset 并不是recordset的简单翻版。从一定的意义上来说,dataview更类似于recordset。如果说datareader是访问数据的最容易的方式,那么dataset则是最完整的数据访问对象。通过dataset,你可以操作已有的数据,还可以通过程序创建dataset,加入table到dataset,并建立这些table之间的关系。

  使用dataset的几个步骤

  第1步,创建到数据源的连接:

   sqlconnection con =new sqlconnection("server=localhost;uid=sa;pwd=;database=pubs");

  第2步,创建datasetcommand对象,指定一个存储过程的名字或者一个sql语句,指定数据链路;

   sqldatasetcommand cmd =new sqldatasetcommand("select * from authors", con);

  第3步,创建一个dataset对象

   dataset ds = new dataset();

  第4步,调用datasetcommand的filldata方法,为dataset填充数据。注意:数据链路没有必要是打开的。如果数据链路是关闭状态,filldata函数会打开它,并在filldata之后关闭数据链路。如果数据链路本来就是打开的,在filldata之后,数据链路依然保持打开状态。

   int irowcount = cmd.filldataset(ds, "authors");

  第5步,操作数据。由于filldata返回了记录的个数,我们可以构造一个循环,来操纵dataset中的数据。


for(int i=0; i< irowcount; i++){
datarow dr = ds.tables[0].rows[i];
console.writeline(dr["au_lname"]);
}  

  数据绑定技术

  repeater、datalist 、datagrid控件是system.web.ui.webcontrols名空间(namespace)里几个相关的页面组件。这些控件把绑定到它们的数据通过html表现出来,它们又被成为"列表绑定控件"(list-bound controls)。

  和其他web组件一样,这些组件不仅提供了一个一致的编程模型,而且封装了与浏览器版本相关的html逻辑。这种特点使得程序员可以针对这个对象模型编程,而无须考虑各种浏览器版本的差别和不一致性。

  这三个控件具有把它们的相关数据"翻译"成各种外观的能力。这些外观包括表格、多列列表、或者任何的html流。同时,它们也允许你创建任意的显示效果。除此之外,它们还封装了处理提交数据、状态管理、事件激发的功能。最后,它们还提供了各种级别的标准操作,包括选择、编辑、分页、排序等等。利用这些控件,你可以轻松地完成如下的web应用:报表、购物推车、产品列表、查询结果显示、导航菜单等等。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表