sqlserver05
VB 数据库应用编程练习 (1)开始→程序→Microsoft Visual Studio→Visual Basic 6.0。 (2)建立一个 vb 工程,设计用户界面。要求包含一个窗体,在窗体上添加两个 ADO 数据控件、一个 datagrid 控件、一个 DataList 控件,和两个命令按钮,(可 参考教材图 14-22)。 (3)设置 ADO 控件的有关属性,一个连接到 studenst 数据库的选课 sc 表,一个连 接到课程表 course; (4)用 DataGrid 控件显示 sc 表中的数据,并且运行用户可以按“课程号”和“学 期”的升序形式显示数据; (5)两个按钮分别为“隐藏列”和“显示全部列”,当用户单击“隐藏列”按钮时, 隐藏结果集中的学期列;当用户单击显示全部列时,显示结果集中的全部列。 (6)根据 SC 表中当前显示的课程号的值,在 DataList 列表中相应的选中的此课程 号对应的课程名。
步骤 1:启动 Visual Basic 6.0
- 打开 Visual Basic 6.0。
- 选择“标准 EXE”项目。
步骤 2:设计用户界面
- 在“工具箱”中,拖动一个“Form”到你的工程中。
- 在窗体上添加以下控件:
- 两个 ADO 数据控件(
ADODC1
和ADODC2
)。 - 一个 DataGrid 控件(
DataGrid1
)。 - 一个 DataList 控件(
DataList1
)。 - 两个命令按钮(
Command1
和Command2
)。
- 两个 ADO 数据控件(
步骤 3:设置 ADO 控件属性
-
选择
ADODC1
控件,设置以下属性:ConnectionString
: 设置为连接到你的students
数据库。RecordSource
: 设置为SELECT * FROM sc
,即选择sc
表中的所有数据。
-
选择
ADODC2
控件,设置以下属性:ConnectionString
: 设置为连接到你的students
数据库。RecordSource
: 设置为SELECT * FROM course
,即选择course
表中的所有数据。
步骤 4:配置 DataGrid 控件显示 sc
表数据
- 选择
DataGrid1
控件,设置以下属性:DataSource
: 设置为ADODC1
,即绑定到ADODC1
控件的数据源。
步骤 5:添加代码实现排序功能
- 在
Form
的代码窗口中,添加以下代码以实现按课程号和学期升序排序显示数据:Private Sub Form_Load() ' Set the initial sort order for DataGrid ADODC1.RecordSource = "SELECT * FROM sc ORDER BY cno, semester" ADODC1.Refresh End Sub
步骤 6:设置按钮功能实现列显示控制
-
双击
Command1
按钮,添加以下代码以隐藏“学期”列:Private Sub Command1_Click() DataGrid1.Columns(2).Visible = False '假设“学期”列是第三列 End Sub
-
双击
Command2
按钮,添加以下代码以显示所有列:Private Sub Command2_Click() Dim i As Integer For i = 0 To DataGrid1.Columns.Count - 1 DataGrid1.Columns(i).Visible = True Next i End Sub
步骤 7:在 DataList 中显示课程名称
-
选择
DataList1
控件,设置以下属性:RowSource
: 设置为ADODC2
,即绑定到ADODC2
控件的数据源。ListField
: 设置为cname
,即显示course
表中的课程名称。BoundColumn
: 设置为cno
,即绑定course
表中的课程号。
-
在
DataGrid1
的AfterColUpdate
事件中添加代码,以根据当前显示的课程号更新DataList1
的选中项:Private Sub DataGrid1_AfterColUpdate(ByVal ColIndex As Integer) Dim currentCno As String currentCno = DataGrid1.Columns(0).Text '假设“课程号”列是第一列 ADODC2.Recordset.Find "cno='" & currentCno & "'" If Not ADODC2.Recordset.EOF Then DataList1.BoundText = currentCno End If End Sub
步骤 8:保存和运行项目
- 保存你的 VB 工程文件。
- 运行你的工程,测试各个功能是否正常工作。
代码汇总
Private Sub Form_Load() ' Set the initial sort order for DataGrid ADODC1.ConnectionString = "Your Connection String Here" ADODC1.RecordSource = "SELECT * FROM sc ORDER BY cno, semester" ADODC1.Refresh ADODC2.ConnectionString = "Your Connection String Here" ADODC2.RecordSource = "SELECT * FROM course" ADODC2.Refresh DataGrid1.DataSource = ADODC1 DataList1.RowSource = ADODC2 DataList1.ListField = "cname" DataList1.BoundColumn = "cno" End Sub Private Sub Command1_Click() DataGrid1.Columns(2).Visible = False '假设“学期”列是第三列 End Sub Private Sub Command2_Click() Dim i As Integer For i = 0 To DataGrid1.Columns.Count - 1 DataGrid1.Columns(i).Visible = True Next i End Sub Private Sub DataGrid1_AfterColUpdate(ByVal ColIndex As Integer) Dim currentCno As String currentCno = DataGrid1.Columns(0).Text '假设“课程号”列是第一列 ADODC2.Recordset.Find "cno='" & currentCno & "'" If Not ADODC2.Recordset.EOF Then DataList1.BoundText = currentCno End If End Sub
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 记一次.NET内存居高不下排查解决与启示
2023-05-18 分组背包