——此文章摘自《C#高级编程(第
版)》定价
元 特价
元 购买
要绑定数据的两个控件是attendeeList 和 roomList为了做到这一点必须把这些控件的DataSource属性设置为包含数据的表格代码必须把数据加载到这些表格中在运行期间执行这个绑定这两个控件都有DataTextField 和 DataValueField属性指定要使用哪些列来分别显示列表项目和设置value属性在这两种情况下可以在设计期间设置这些属性只要DataSource属性设置为在控件中填充列表项目就可以使用这两个属性
在ASPNET代码中删除这些控件的现有项目则其声明如下所示
<asp:DropDownList ID=roomList Runat=server
Width=px DataTextField=Room
DataValueField=ID ></asp:DropDownList>
<asp:ListBox ID=attendeeList Runat=server Width=px
SelectionMode=Multiple Rows=
DataTextField=Name DataValueField=ID /></asp:ListBox>
下一个任务是创建数据库连接这可以使用几种方式如前面第章中所述我们采用手工编码的方式使该任务简单一些因为使用的是Access这个连接的提供者类型是Microsoft Jet OLE DB Provider所以在窗体上添加一个DataOleDbOleDbConnection对象oleDbConnection
public class WebForm : SystemWebUIPage
{
protected SystemDataOleDbOleDbConnection oleDbConnection;
提示对于SQL Server连接添加的是一个SqlClientSqlConnection对象
然后需要把一些代码添加到InitializeComponent()中设置oleDbConnection的Connection String属性以便在代码中使用
private void InitializeComponent()
{
thisoleDbConnection = new SystemDataOleDbOleDbConnection();
thisoleDbConnectionConnectionString =@Provider=MicrosoftJetOLEDB;Password=;User ID=Admin;Data +Source=C:\\Inetpub\\wwwroot\\PCSWebApp\\PCSWebAppmdb;
在Page_Load()事件处理程序中执行数据绑定以便在其他部分使用这些控件时完全填充控件无论是否在执行回送操作(即使列表控件通过viewstate保存它们的内容)都将从数据库中读取数据确保可以访问需要的数据 但不需要在回送中执行数据绑定这似乎是在浪费时间但您可以练习把其他逻辑添加到代码中优化这个行为下面主要讨论如何进行工作而没有考虑实际的细节
所有的代码都放在连接对象的Open() 和 Close()方法调用之间
private void Page_Load(object sender SystemEventArgs e)
{
oleDbConnectionOpen();
if (!thisIsPostBack)
{
calendarSelectedDate = SystemDateTimeNow;
}
oleDbConnectionClose();
}
下面说明为什么日历的日期设置放在回送检查代码中
对于数据交换需要使用几个对象来存储数据可以在类级别上声明这些对象以便在其他函数中访问它们需要一个DataSet对象存储数据库信息三个OleDbOleDbDataAdapter对象执行数据集上的查询一个DataTable对象存储以后访问的会议这些声明如下所示
[] []