c#

位置:IT落伍者 >> c# >> 浏览文章

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


发布日期:2019年01月18日
 
C#高级编程: 数据库的绑定[2]
——此文章摘自《C#高级编程(第版)》定价元 特价元 购买

public class WebForm : SystemWebUIPage

{

protected SystemDataDataSet ds;

protected SystemDataDataTable eventTable;

protected SystemDataOleDbOleDbDataAdapter daAttendees;

protected SystemDataOleDbOleDbDataAdapter daRooms;

protected SystemDataOleDbOleDbDataAdapter daEvents;

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

Page_Load()现在需要创建DataSet对象

private void Page_Load(object sender SystemEventArgs e)

{

oleDbConnectionOpen();

ds = new DataSet();

然后必须给OleDbDataAdapter对象赋予查询和连接对象的链接

ds = new DataSet();

daAttendees = new SystemDataOleDbOleDbDataAdapter(

SELECT * FROM Attendees oleDbConnection);

daRooms = new SystemDataOleDbOleDbDataAdapter(

SELECT * FROM Rooms oleDbConnection);

daEvents = new SystemDataOleDbOleDbDataAdapter(

SELECT * FROM Events oleDbConnection);

使用Fill()调用来执行查询

daEvents = new SystemDataOleDbOleDbDataAdapter(

SELECT * FROM Events oleDbConnection);

daAttendeesFill(ds Attendees);

daRoomsFill(ds Rooms);

daEventsFill(ds Events);

现在进行数据绑定如前所述只需把绑定控件上的DataSource属性设置为要绑定的表

daEventsFill(ds Events);

attendeeListDataSource = dsTables[Attendees];

roomListDataSource = dsTables[Rooms];

这段代码设置了属性但数据绑定要在调用窗体的DataBind()方法之后才进行该方法过一会儿再调用在此之前用Events表中的数据填充DataTable对象

roomListDataSource = dsTables[Rooms];

eventTable = dsTables[Events];

如果没有回送就只绑定数据否则就要刷新数据(假定数据库中的这些数据在会议登记请求的过程中一直是静态的)回送中的数据绑定也会清除roomList 和 attendeeList控件中的选择在绑定并刷新这些数据前应注意这些但是在现有的if语句中调用DataBind()会比较简单(这是该语句仍保留在打开数据连接的代码区域中的原因)

eventTable = dsTables[Events];

if (!thisIsPostBack)

{

calendarSelectedDate = SystemDateTimeNow;

thisDataBind();

}

oleDbConnectionClose();

}

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

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

[] []

               

上一篇:VC# .Net中使用Crystal Report(二)

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