信息产业培训网

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

http://www.miiceic.org.cn   2008-2-27 14:39:01   中程在线   浏览数:
关键字:.net
      public class WebForm1 : System.Web.UI.Page
       {
          ...
          protected System.Data.DataSet ds;
          protected System.Data.DataTable eventTable;
          protected System.Data.OleDb.OleDbDataAdapter daAttendees;
          protected System.Data.OleDb.OleDbDataAdapter daRooms;
          protected System.Data.OleDb.OleDbDataAdapter daEvents;

    提示:所有OLE DB对象都有SQL Server版本,它们的用法也是一样的。

    Page_Load()现在需要创建DataSet对象:
          private void Page_Load(object sender, System.EventArgs e)
          {
             oleDbConnection1.Open();
             ds = new DataSet();

    然后,必须给OleDbDataAdapter对象赋予查询和连接对象的链接:
             ds = new DataSet();
             daAttendees = new System.Data.OleDb.OleDbDataAdapter(
                               "SELECT * FROM Attendees", oleDbConnection1);
             daRooms = new System.Data.OleDb.OleDbDataAdapter(
                               "SELECT * FROM Rooms", oleDbConnection1);
             daEvents = new System.Data.OleDb.OleDbDataAdapter(
                               "SELECT * FROM Events", oleDbConnection1);

    使用Fill()调用来执行查询:
             daEvents = new System.Data.OleDb.OleDbDataAdapter(
                               "SELECT * FROM Events", oleDbConnection1);
             daAttendees.Fill(ds, "Attendees");
             daRooms.Fill(ds, "Rooms");
             daEvents.Fill(ds, "Events");

    现在进行数据绑定。如前所述,只需把绑定控件上的DataSource属性设置为要绑定的表:
             daEvents.Fill(ds, "Events");
             attendeeList.DataSource = ds.Tables["Attendees"];
             roomList.DataSource = ds.Tables["Rooms"];

    这段代码设置了属性,但数据绑定要在调用窗体的DataBind()方法之后才进行,该方法过一会儿再调用。在此之前,用Events表中的数据填充DataTable对象:
             roomList.DataSource = ds.Tables["Rooms"];
             eventTable = ds.Tables["Events"];

    如果没有回送,就只绑定数据,否则就要刷新数据(假定数据库中的这些数据在会议登记请求的过程中一直是静态的)。回送中的数据绑定也会清除roomList 和 attendeeList控件中的选择。在绑定并刷新这些数据前,应注意这些。但是,在现有的if语句中调用DataBind()会比较简单(这是该语句仍保留在打开数据连接的代码区域中的原因):
             eventTable = ds.Tables["Events"];
             if (!this.IsPostBack)
             {
                calendar.SelectedDate = System.DateTime.Now;
                this.DataBind();
             }
             oleDbConnection1.Close();
          }

    现在运行这个应用程序,从数据绑定控件中得到所有可用的参加者和会议室数据。

    注意:为了运行代码,必须在Access或Server Explorer中明确关闭任何已打开的数据库连接。为此,只需右击Server Explorer中的数据源,选择Close即可。

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

    请您注意
    1、遵守中华人民共和国的各项有关法律规定
    2、承担一切因您的行为而导致的法律责任
    3、本网留言管理人员有权删除其管辖留言内容
    4、您在本网的留言本网有权在网站内转载和引用
    5、参与本留言即表明您已经阅读并接受上述条款
    我爱研发网中电华信阿里西西JAVA爱好者北京英才网全球大学查询网
    中国人的网站导航中国电脑论坛信息产业部新浪科技搜狐IT信息产业部电子教育与考试中心
    IT世界网软件项目交易网中国软件交易网国信培训网亚远景科技....[更多]
    关于我们 | 网站地图 | 周边住宿 | 行车路线 | 联系我们 | 网站律师 | 意见反馈 | 虚位以待 | 友情链接
    中程在线(北京)科技有限公司 版权所有
    总 部:北京市海淀区青东商务楼A座西四层
    企业培训部:010-52636110 52636106 就业培训部:010-68716925 68716926
    邮 件:training@miiceic.org.cn
    京ICP备06053134号
    Copyright © 2005-2008 Miiceic.org.cn All Rights Reserved