图10-35查询界面
提示:界面功能分类使用的是TabControl1控件,在该控件中添加两个标签TabPage1、TabPage2(在该控件上右击“添加选项卡”,选项卡的标题属性通过选择TabPages属性弹出TabPage集合编辑器下设置Text属性完成),分别完成“教材订购信息查询”功能和“教材增订”功能。程序设计步骤可以分为两步:首先用查询完成控件ComboBox1中书号的填充;在此基础上完成选定书号的相关教材订购数量的查询。
窗体对象属性 对象 TabControl1 TabPages: TabPage1 TabPage2 Label1 Label2 Label3 Label4 Textbox1 Textbox2 Textbox3
//加载窗体
Private Sub Form1_Load(……) Handles MyBase.Load
Dim sql As String = \ Dim sql2 As String = \ Dim myconn As New SqlConnection(\ & \ Dim myadpter1 As New SqlDataAdapter(sql, myconn) Dim mydataset1 As New Data.DataSet myadpter1.Fill(mydataset1, \教材号\
ComboBox1.DataSource = mydataset1.Tables(\教材号\
ComboBox1.DisplayMember = mydataset1.Tables(\教材号\ ComboBox2.DataSource = mydataset1.Tables(\教材号\
ComboBox2.DisplayMember = mydataset1.Tables(\教材号\
属性 设置值 教材订购信息查询 教材增订 选择教材代号 教材名称 学生订书 教师订书 Text Text Text Text Text Text Text ComboBox1 Text Dim myadpter2 As New SqlDataAdapter(sql2, myconn) Dim mydataset2 As New Data.DataSet myadpter2.Fill(mydataset2, \工号\
ComboBox3.DataSource = mydataset2.Tables(\工号\
ComboBox3.DisplayMember = mydataset2.Tables(\工号\End Sub
//在组合框中选择教材代号产生SelectedIndexChanged事件
Private Sub ComboBox1_SelectedIndexChanged(……) Handles ComboBox1.SelectedIndexChanged Dim sql As String = \ & \ & \
& \ & ComboBox1.Text & \
Dim myconn As New SqlConnection(\ & \
Dim mycmd As SqlCommand = New SqlCommand(sql, myconn) Dim myread As SqlDataReader myconn.Open()
myread = mycmd.ExecuteReader If myread.Read Then
TextBox1.Text = myread.Item(0) TextBox2.Text = myread.Item(1) TextBox3.Text = myread.Item(2) Else
TextBox1.Text = \ TextBox2.Text = \ TextBox3.Text = \ End If End Sub
2.用SqlCommand完成数据更新操作。运行界面见图10-36。 具体要求如下:
运行界面中的两个组合框,分别用于选择教材代号和教师工号,一个文本框用于输入学生订书量、教师订书量和订书日期,通过“确定”按钮完成教材增订的录入功能。“取消”钮的功能是清空三个控件的内容。
图10-36数据更新界面
提示:该功能可以用SqlCommand的ExecuteNonQuery()方法完成,数据库更新语句为“Insert Into”,注意在插入新记录时,所有非空字段必须添入值。
窗体对象属性 Label5 Label6 Label7 Label8 Label9 Label10 TextBox5 TextBox6 TextBox7 Text 请输入教材信息 Text 教材代号 Text 教师工号 Text 学生订书 Text 教师订书 Text 订书日期 Text Text Text ComboBox2 Text ComboBox3 Text Button1 Button2
//单击“增订教材”选页上的“确定”按钮增订教材 Private Sub Button1_Click(……) Handles Button1.Click
Dim sql As String = \ & \ & \ & ComboBox3.Textg & \ & Val(TextBox5.Text) & \
& Val(TextBox6.Text) & \
Dim myconn As New SqlConnection(\ & \ Dim mycmd As SqlCommand = New SqlCommand(sql, myconn) Dim i As Integer myconn.Open() Try
Text 确定 Text 取消 i = mycmd.ExecuteNonQuery() '这里用i变量检查命令执行影响的数据行数 If i > 0 Then
MsgBox(\插入成功\ End If
Catch ex As Exception MsgBox(ex.Message) End Try myconn.Close() End Sub
//单击“增订教材”选页上的“取销”按钮,清空文本框中的信息 Private Sub Button2_Click(……) Handles Button2.Click
ComboBox2.Text = \ComboBox3.Text = \TextBox5.Text = \
TextBox6.Text = \ TextBox7.Text = \End Sub
3.实现如图10-y所示的程序,实现对T_Publisher表信息的查询和维护。
窗体对象属性
对象 Label1 Label2 Label3 Text Text Text 属性 出版社代号 出版社名 联系电话 查询 添加 删除 确认修改 取消修改
//查询
Private Sub Button1_Click(……) Handles Button1.Click
设置值 Textbox1 Text Textbox2 Text Textbox3 Text Button1 Button2 Button3 Button4 Button5
Text Text Text Text Text Dim sql As String = \ & \
Dim myconn As New SqlConnection
myconn.ConnectionString = \ & \ Dim mycmd As SqlCommand = New SqlCommand(sql, myconn) Dim myread As SqlDataReader myconn.Open()
myread = mycmd.ExecuteReader If (myread.Read) Then
TextBox2.Text = myread.Item(0) TextBox3.Text = myread.Item(1) Else
TextBox2.Text = \ TextBox3.Text = \ End If
myconn.Close() End Sub //插入
Private Sub Button2_Click(……) Handles Button2.Click
Dim sql As String = \ & TextBox1.Text & \
& TextBox2.Text & \
Dim myconn As New SqlConnection(\ & \
Dim mycmd As SqlCommand = New SqlCommand(sql, myconn) Dim i As Integer myconn.Open() Try
i = mycmd.ExecuteNonQuery() If i > 0 Then
MsgBox(\记录插入成功\ TextBox1.Text = \ TextBox2.Text = \ TextBox3.Text = \ End If
Catch ex As Exception MsgBox(ex.Message) End Try myconn.Close() End Sub //删除
Private Sub Button3_Click(……) Handles Button3.Click