信息产业培训网

C#高级编程: 数据库的绑定[1]

http://www.miiceic.org.cn   2008-2-27 14:37:09   中程在线   浏览数:
关键字:.net

    要绑定数据的两个控件是attendeeList 和 roomList。为了做到这一点,必须把这些控件的DataSource属性设置为包含数据的表格。代码必须把数据加载到这些表格中,在运行期间执行这个绑定。这两个控件都有DataTextField 和 DataValueField属性,指定要使用哪些列来分别显示列表项目和设置value属性。在这两种情况下,可以在设计期间设置这些属性,只要DataSource属性设置为在控件中填充列表项目,就可以使用这两个属性。

    在ASP.NET代码中,删除这些控件的现有项目,则其声明如下所示:
                ...
                <asp:DropDownList ID="roomList" Runat="server"
                    Width="160px" DataTextField="Room"
                    DataValueField="ID" ></asp:DropDownList>
                ...
                <asp:ListBox ID="attendeeList" Runat="server" Width="160px"
                    SelectionMode="Multiple" Rows="6"
                    DataTextField="Name" DataValueField="ID" /></asp:ListBox>
                ...

    下一个任务是创建数据库连接。这可以使用几种方式,如前面第21章中所述。我们采用手工编码的方式,使该任务简单一些。因为使用的是Access,这个连接的提供者类型Microsoft Jet 4.0 OLE DB Provider。所以在窗体上添加一个Data.OleDb.OleDbConnection对象oleDbConnection1:
       public class WebForm1 : System.Web.UI.Page
       {
          ...
          protected System.Data.OleDb.OleDbConnection oleDbConnection1;

    提示:对于SQL Server连接,添加的是一个SqlClient.SqlConnection对象。

    然后需要把一些代码添加到InitializeComponent()中,设置oleDbConnection1的Connection String属性,以便在代码中使用:
       private void InitializeComponent()
       {
          this.oleDbConnection1 = new System.Data.OleDb.OleDbConnection();
          ...
          this.oleDbConnection1.ConnectionString = @"Provider=Microsoft.Jet.OLEDB.4.0;Password="""";User ID=Admin;Data " + "Source=C:\\Inetpub\\wwwroot\\PCSWebApp3\\PCSWebApp3.mdb";

    在Page_Load()事件处理程序中执行数据绑定,以便在其他部分使用这些控件时完全填充控件。无论是否在执行回送操作(即使列表控件通过viewstate保存它们的内容),都将从数据库中读取数据,确保可以访问需要的数据, 但不需要在回送中执行数据绑定。这似乎是在浪费时间,但您可以练习把其他逻辑添加到代码中,优化这个行为。下面主要讨论如何进行工作,而没有考虑实际的细节。

    所有的代码都放在连接对象的Open() 和 Close()方法调用之间。
          private void Page_Load(object sender, System.EventArgs e)
          {
             oleDbConnection1.Open();
             if (!this.IsPostBack)
             {
                calendar.SelectedDate = System.DateTime.Now;
             }
             oleDbConnection1.Close();
          }

    下面说明为什么日历的日期设置放在回送检查代码中。

    对于数据交换,需要使用几个对象来存储数据。可以在级别上声明这些对象,以便在其他函数中访问它们。需要一个DataSet对象存储数据库信息,三个OleDb.OleDbDataAdapter对象执行数据集上的查询,一个DataTable对象存储以后访问的会议。这些声明如下所示:

来源:csai
相关连接
最新评论
*以下网友发言不代表中程在线网站的观点和看法
    我要评论

    请您注意
    1、遵守中华人民共和国的各项有关法律规定
    2、承担一切因您的行为而导致的法律责任
    3、本网留言管理人员有权删除其管辖留言内容
    4、您在本网的留言本网有权在网站内转载和引用
    5、参与本留言即表明您已经阅读并接受上述条款
    我爱研发网希赛网软件测试网中电华信太平洋电脑网天空网
    电脑爱好者泡泡网华军软件霏凡软件站软件开发网腾讯网
    eNet下载汉化新世纪小熊在线BIOS之家数动连线....[更多]
    关于我们 | 网站地图 | 周边住宿 | 行车路线 | 联系我们 | 网站律师 | 意见反馈 | 虚位以待 | 友情链接
    中程在线(北京)科技有限公司 版权所有
    总 部:北京市海淀区青东商务楼A座西四层
    企业培训部:010-52636110 52636106 就业培训部:010-68716925 68716926
    邮 件:training@miiceic.org.cn
    京ICP备06053134号
    Copyright © 2005-2008 Miiceic.org.cn All Rights Reserved