科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网网络频道ADO.NET 数据库实例教程

ADO.NET 数据库实例教程

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

ADO.NET数据库编程比较复杂,名目繁多的类、对象、属性、方法让每一个编程者都感觉恼火。本文旨在介绍ASP.NETBeta2数据库编程的主要内容,帮助编程者最快的了解ADO.NET数据库编程的精髓。

作者:巧巧读书 来源:巧巧读书 2008年7月25日

关键字: ADO.NET 电子邮件 Foxmail

  • 评论
  • 分享微博
  • 分享邮件

在本页阅读全文(共4页)

  五、理解DataGrid

  数据放入DataGrid以后,除了一般的显示以外,我们还需要对这些数据进行编辑、修改。看了前几个章节你可能认为DataGrid比较简单,数据处理也比较方便。其实,如果需要真正做一个应用,我们会发现前面的知识还远远不够。以下所用的数据库和前面的章节完全相同,一些设置我们可以参考前面章节。我们先来看代码:

  <%@ Page Language="VB" Debug="true" %>

  <%@ Import Namespace="System.Data" %>

  <%@ Import Namespace="System.Data.Oledb" %>

  <script language="VB" runat="server">

  Dim objConn as New OleDBConnection("Provider=Microsoft.Jet.OLEDB.4.0; Data Source=e:\sff\site\db\test.mdb")

  Dim ds as Dataset = New DataSet()

  Dim objAdapter as New OleDbDataAdapter("SELECT * FROM users", objConn)

  Sub Page_Load(sender as object, e as eventargs)

  objConn.Open()

  objAdapter.Fill(ds, "users")

  dg.DataSource = ds

  dg.DataMember = "users"

  If Not Page.IsPostBack Then

  dg.Databind()

  End If

  End Sub

  sub dg_edit(sender as object, e as DataGridCommandEventArgs)

  dg.edititemindex = -1

  dg.DataBind()

  end sub

  sub dg_cancel(sender as object, e as DataGridCommandEventArgs)

  dg.edititemindex = -1

  dg.databind()

  end sub

  </script>

  以上程序代码很简单直接,我们应该都可以看懂。只是需要注意Page_Load的对数据绑定的处理,在几乎所有的数据库程序中,我们都使用这种方式处理数据绑定,所以,这个处理方式一定要牢记。以上是数据连接和事件处理部分,现在我们看DataGrid部分。

  自定义DataGrid

  以下代码演示了自定义DataGrid的实现,在实际应用中,我们基本都是这样使用DataGrid,以下代码很有典型性,可以作为一个好的参考。

  <form runat="server">

  <asp:DataGrid id="dg" runat="server"

  Bordercolor="black"

  gridlines="vertical"

  font-names="Arial"

  font-size="10pt"

  HeaderStyle-BackColor="#FFCC00" '表格头信息

  ItemStyle-BackColor="#FFCC66" '每行背景色

  AlternatingItemStyle-BackColor="#FFFFFF" '交替背景色

  AutoGenerateColumns="False" '自定义每行

  OnEditCommand="dg_edit" '以下三个事件处理

  OnCancelCommand="dg_cancel"

  OnUpdateCommand="dg_update">

  '自定义每行显示

  <Columns>

  <asp:boundcolumn readonly="true" headertext="ID" DataField="Auto" />

  <asp:boundcolumn headertext="First Name" DataField="Number1" />

  <asp:boundcolumn headertext="Last Name" Datafield="Number2" />

  <asp:editcommandcolumn edittext="Edit" CancelText="Cancel" UpdateText="Save" HeaderText="" />

  </Columns>

  </asp:dataGrid>

  </form>

  以上代码中,自定义了数据编辑列,这些相应的处理在前面已经给出代码。我们现在来看事件处理。

  OnEditCommand

  以下是编辑按钮处理代码:

  sub dg_edit(sender as object, e as DataGridCommandEventArgs)

  dg.edititemindex = e.item.itemindex

  dg.databind()

  end sub

  以上代码需要注意的是,e.item.itemindex就是我们需要编辑的那行数据。在对数据作任何变动以后,都需要重新绑定数据,也就是DataBing()。

  OnCancelCommand

  取消按钮处理和上面的编辑按钮处理差不多,区别的是,在这里,dg.edititemindex被设为-1,也就是将数据恢复到原来状态。

  OnUpdateCommand

  先来看数据更新代码:

  sub dg_update(sender as object, e as DataGridCommandEventArgs)

  Dim FNAME As TextBox = e.item.cells(1).controls(0)

  Dim LNAME As TextBox = e.item.cells(2).controls(0)

  Dim sqlstr As String

  sqlstr = "UPDATE users SET " &_

  "Number1 = '" &FNAME.Text &"', " &_

  "Number2 = '" &LNAME.Text &"' " &_

  "WHERE Auto = " &e.item.cells(0).text

  Dim objCommand = New OLEDBCommand(sqlstr, objConn)

  objCommand.ExecuteNonQuery()

  ds.Tables.Clear

  objAdapter.Fill(ds, "users")

  dg.edititemindex = -1

  dg.DataBind()

  end sub

  以上代码将建立两个TextBox,这两个TextBox就是DataGrid中的复本。然后用SQL语句更新数据,最后重新绑定数据。

  总结

  以上代码可能初学者比较难懂,而且,上面的数据更新方法也不是很好。但是为了我们更好理解,我们还是可以参考以上代码。

  六、DataGrid数据排序

  数据排序在一些特殊的场合是必要的。下面我们将详细介绍DataGrid中的数据排序功能。在对DataGrid数据实现排序功能以前,我们需要做以下准备:

  1、 将AutoGenerateColumns设为打开,这样自定义数据列功能将失去,同时也将失去直接编辑功能。其实这无关紧要的,数据显示和编辑分开不同页面这种模式其实是现在比较认可的方法。

  2、 必须将AllowSorting设为真,这样,在每一列数据的标题将建立一个链接,点击这个链接将按照这个字段排序。

  3、 必须建立排序事件,也就是OnSortCommand。

    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章