论文部分内容阅读
摘要:该文主要论述了如何利用VB中的文本框、列表框与SQL Server中的数据表建立联系,并用定时器实现动态选取号码的功能,包括界面的设计、控件属性的设置、具体实现的方法及代码等。
关键词: SQL Server;数据表;ADO;动态选号;定时器;文本框;列表框
中图分类号:TP311文献标识码:A 文章编号:1009-3044(2008)23-874-02
Dynamically Select the Data of Table
ZHANG Guo-fang
(Henan Industry And Trade Vocational College Department of Computer Science, Zhengzhou 450012, China)
Abstract: The article primary treatise how to connect TextBox and ListBox of VB with the table of SQL Server,At the same time, realizing to select number with Timer,Including designning interface, putting control’s attribute、the method of implement and programming code.
Key words: SQL Server; Data Table; ADO; Automtic Select; Timer;TextBox;ListBox
1 创建数据表
在SQL Server 的企业管理器中创建一数据表,数据表包含有id、name、address、tel、number等五个字段,并输入参与选号人员的信息。
2 设计界面
界面主要由一个文本、一个列表框、一个命令按钮、一个ADO数据控件和定时器组成。设计界面如右图1。
3 原理及实现
ADO对应的数据控件是ADODC,ADODC不是VB的基本控件,在使用ADODC之前需先在工具箱中添加ADODC控件,在窗体上添加一ADODC控件,使ADODC通过ODBC与SQL Server系统建立连接,并选择数据源及数据表。用文本框显示数据表中numbr字段数据。将文本框的DataSource属性值设为Adodc1,DataFiled属性值设为number(即所显示的字段)。
设置各控件属性值如表1所示。
在窗体的装载窗体事件过程中,用While循环语句通过文本框实现把数据表中number字段的内容全部添加到列表框(list1)中,则程序一启动列表框中就显示出数据表中number字段的数据内容。程序代码如下:
Private Sub Form_Load()
Adodc1.Recordset.MoveFirst
While Adodc1.Recordset.AbsolutePosition <> adPosEOF
list1.AddItem Text1.Text
Adodc1.Recordset.MoveNext
Wend
End Sub
定时器(Timer)可以实现每隔一定的时间间隔触发一次Timer事件过程的执行。因此可以利用定时器实现动画的制作、定时执行某个特定的操作或计时的功能等。现在我利用定时器与列表框配合使用来实现动态选取号码的功能。具体实现方法如下:
为了能够实现动态选取中奖号码,在这里我使用定时进行对静态变量i,定时器每触发一次,Timer事件过程就执行一次,则静态变量i的值就增加1,为能实现循环选号且保证i的值不越界,我采用if语句将变量i的值控制在0到列表框的项总数Listcount之间。然后把变量i的值赋给列表框的ListIndex属性,从而实现动态选取中奖号。定时器的Timer事件过程代码如下:
Private Sub Timer1_Timer()
Static i As Integer
If i >= list1.ListCount Then i = 0
list1.ListIndex = i
i = i + 1
End Sub
程序运行后,也可在文本框中输入参加抽奖的号码,并将输入的号码添加到列表框中。实现代码如下:
Private Sub Text1_KeyPress(KeyAscii As Integer)
If KeyAscii = 13 Then
list1.AddItem Text1.Text
Text1.Text = ""
Text1.SetFocus
End If
End Sub
当单击“开始”按钮即可开始动态选号。当开始选号后,命令按钮的Caption值同时变为“停止”。当单击“停止”按钮时则选中号码,将被选中的号码显示在文本框中,同时用消息框给出中奖提示信息。此时命令按钮Command1的Caption值变为“开始”。实现代码如下:
Private Sub Command1_Click()
If Command1.Caption = "开始(&Start)" Then
Timer1.Enabled = True
Command1.Caption = "停止(&End)"
Else
Timer1.Enabled = False
Command1.Caption = "开始(&Start)"
Text1.Text = list1.Text
MsgBox "恭喜" & Text1.Text & "中奖了!", 48, "中奖提示"
End If
End Sub
当抽奖结束或不再进行下一轮抽奖时,单击标题栏上的退出按钮结束程序的运行。
该文是本人在教学实践中发现并得到验证的,对其他从事可视化程序教学的教师有一定的参考价值,可作为教学中的例子来使用。
参考文献:
[1] 姚巍.VisuaL Basic数据库开发及工程实例[M].北京:人民邮电出版社,2004.
[2] 北京博彦科技发展有限责任公司,编译.VisuaL Basic开发教程[M].北京:清华大学出版社,2000.
[3] 沈祥玖.VB程序设计[M].北京:高等教育出版社,2003.
关键词: SQL Server;数据表;ADO;动态选号;定时器;文本框;列表框
中图分类号:TP311文献标识码:A 文章编号:1009-3044(2008)23-874-02
Dynamically Select the Data of Table
ZHANG Guo-fang
(Henan Industry And Trade Vocational College Department of Computer Science, Zhengzhou 450012, China)
Abstract: The article primary treatise how to connect TextBox and ListBox of VB with the table of SQL Server,At the same time, realizing to select number with Timer,Including designning interface, putting control’s attribute、the method of implement and programming code.
Key words: SQL Server; Data Table; ADO; Automtic Select; Timer;TextBox;ListBox
1 创建数据表
在SQL Server 的企业管理器中创建一数据表,数据表包含有id、name、address、tel、number等五个字段,并输入参与选号人员的信息。
2 设计界面
界面主要由一个文本、一个列表框、一个命令按钮、一个ADO数据控件和定时器组成。设计界面如右图1。
3 原理及实现
ADO对应的数据控件是ADODC,ADODC不是VB的基本控件,在使用ADODC之前需先在工具箱中添加ADODC控件,在窗体上添加一ADODC控件,使ADODC通过ODBC与SQL Server系统建立连接,并选择数据源及数据表。用文本框显示数据表中numbr字段数据。将文本框的DataSource属性值设为Adodc1,DataFiled属性值设为number(即所显示的字段)。
设置各控件属性值如表1所示。
在窗体的装载窗体事件过程中,用While循环语句通过文本框实现把数据表中number字段的内容全部添加到列表框(list1)中,则程序一启动列表框中就显示出数据表中number字段的数据内容。程序代码如下:
Private Sub Form_Load()
Adodc1.Recordset.MoveFirst
While Adodc1.Recordset.AbsolutePosition <> adPosEOF
list1.AddItem Text1.Text
Adodc1.Recordset.MoveNext
Wend
End Sub
定时器(Timer)可以实现每隔一定的时间间隔触发一次Timer事件过程的执行。因此可以利用定时器实现动画的制作、定时执行某个特定的操作或计时的功能等。现在我利用定时器与列表框配合使用来实现动态选取号码的功能。具体实现方法如下:
为了能够实现动态选取中奖号码,在这里我使用定时进行对静态变量i,定时器每触发一次,Timer事件过程就执行一次,则静态变量i的值就增加1,为能实现循环选号且保证i的值不越界,我采用if语句将变量i的值控制在0到列表框的项总数Listcount之间。然后把变量i的值赋给列表框的ListIndex属性,从而实现动态选取中奖号。定时器的Timer事件过程代码如下:
Private Sub Timer1_Timer()
Static i As Integer
If i >= list1.ListCount Then i = 0
list1.ListIndex = i
i = i + 1
End Sub
程序运行后,也可在文本框中输入参加抽奖的号码,并将输入的号码添加到列表框中。实现代码如下:
Private Sub Text1_KeyPress(KeyAscii As Integer)
If KeyAscii = 13 Then
list1.AddItem Text1.Text
Text1.Text = ""
Text1.SetFocus
End If
End Sub
当单击“开始”按钮即可开始动态选号。当开始选号后,命令按钮的Caption值同时变为“停止”。当单击“停止”按钮时则选中号码,将被选中的号码显示在文本框中,同时用消息框给出中奖提示信息。此时命令按钮Command1的Caption值变为“开始”。实现代码如下:
Private Sub Command1_Click()
If Command1.Caption = "开始(&Start)" Then
Timer1.Enabled = True
Command1.Caption = "停止(&End)"
Else
Timer1.Enabled = False
Command1.Caption = "开始(&Start)"
Text1.Text = list1.Text
MsgBox "恭喜" & Text1.Text & "中奖了!", 48, "中奖提示"
End If
End Sub
当抽奖结束或不再进行下一轮抽奖时,单击标题栏上的退出按钮结束程序的运行。
该文是本人在教学实践中发现并得到验证的,对其他从事可视化程序教学的教师有一定的参考价值,可作为教学中的例子来使用。
参考文献:
[1] 姚巍.VisuaL Basic数据库开发及工程实例[M].北京:人民邮电出版社,2004.
[2] 北京博彦科技发展有限责任公司,编译.VisuaL Basic开发教程[M].北京:清华大学出版社,2000.
[3] 沈祥玖.VB程序设计[M].北京:高等教育出版社,2003.