构建如下图所示Windows窗体界面,其中包含六个题目序号按钮控件,按钮标题分别为“1”、“2” 、“3” 、“4” 、“5” 、“6”;一个时间显示区;两个文本框控件和一个“查看答案”按钮。单击题目序号按钮,题目显示在题目文本框(题目序号下方的文本框)中;单击查看答案按钮,答案显示在下面的答案文本框(查看答案按钮下方的文本框)中。
答案文本框在单击“查看答案”按钮前是隐藏的,只有在单击“查看答案”按钮控件后,答案文本框中才显示对应答案。“Time”文本框中动态显示自单击题目按钮后所经过的时间。
本案例利用Visual FoxPro建立一个数据库,并针对每个人建一个数据库表(共六个),所有表的结构完全相同,均包含题目序号、题目、答案三个字段;为调试方便,可在每个数据库表中录入一些实验性数据。
1.建立数据适配器对象及数据集
在VB.NET中可以为每个数据绑定控件建立一个数据适配器及数据连接,但同一时刻只能打开一个数据库连接。
(1)配置数据库适配器
单击工具箱中Data标签中的OleDbDataAdapter,再在窗体上单击鼠标左键,此时弹出“数据适配器配置向导”对话框,单击“下一步”;在新对话框中单击“新建连接”弹出“新建连接属性”对话框,单击“提供程序”选项卡,然后在“OLE DB提供程序”中根据自己的数据库类型选择数据库提供程序,这里由于使用的是FoxPro数据库故选择 “Microsoft OLE DB Provider for Visual FoxPro”,接下来单击“连接”选项卡,单击浏览按钮浏览并选择前面建好的数据库,单击“确定”回到“数据适配器配置向导”对话框。单击“下一步”,选择“使用SQL语句”,单击“下一步”,单击“查询生成器”按钮,在“查询生成器”中选择数据库表及字段,并修改Select语句的WHERE子句,以随机选择一个记录:
SELECT bianhao, timu, daan
FROM table1
WHERE (RECNO() = INT(RAND(0) * RECCOUNT() + 1)
单击“下一步”,单击“完成”。
(2)建立数据库连接
单击工具箱中Data标签中的OleDbConnection,此时新建立的程序窗口下方增加一个“OleDbConnection1”对象。单击“OleDbConnection1”对象”,在VB.NET窗口右侧的属性窗中确认连接字符串。
通常情况下,利用向导建立的数据库连接为绝对连接,在程序调试时可以使用默认的绝对连接。但为了便于以后程序发布,在程序调试完毕准备发布时,最好将数据库连接OleDbConnection1的数据连接字符串Me.OleDbConnection1.ConnectionString中的数据源路径Data Source,由绝对路径改为相对路径。
Me.OleDbConnection1.ConnectionString = "User ID=;DSN=;Cache Authentication=False;Data Source=""DATA\JIN" & _
"G_SAI.DBC"";Provider=""VFPOLEDB.1"";Collating Sequence=MACHINE;Mask Password=False;" & _
"persist security info=False;Mode=Share Deny None;Extended Properties=;Encrypt Pa" & _
"ssword=False"
Me.OleDbSelectCommand1.Connection = Me.OleDbConnection1
|