加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

vb.net 教程 8-3 数据库操作10-1

发布时间:2020-12-16 23:53:13 所属栏目:大数据 来源:网络整理
导读:数据库数据的修改可以直接使用sql update 语句, 在使用command时和查询略有区别: 查询使用的是 command.ExecuteReader 返回一个 DbDataReader 修改使用的是command.ExecuteNonQuery 可以返回受此操作影响的数据条数,当然也可以不用返回值。 以一个实例来

数据库数据的修改可以直接使用sql update 语句,

在使用command时和查询略有区别:

查询使用的是 command.ExecuteReader 返回一个 DbDataReader

修改使用的是command.ExecuteNonQuery 可以返回受此操作影响的数据条数,当然也可以不用返回值。

以一个实例来说明。

此例子中使用了的是northwind中的雇员表


前期准备包括获得雇员姓名显示在combobox 中,当选择了一个雇员时会将该人信息显示在相应的textbox或者datetimepicker中。

定义一个窗体级变量:

Dim odc As OleDbConnection

窗体载入时获得所有雇员姓名并填充到cbEmployee中:

    Private Sub Form6_Load(sender As Object,e As EventArgs) Handles MyBase.Load
        odc = New OleDbConnection()
        odc.ConnectionString = "Provider = Microsoft.ACE.OLEDB.12.0;data source=Northwind.mdb;"

        Dim odcommand As New OleDbCommand()
        odcommand.CommandText = "select 雇员ID,(姓氏+名字) as 姓名 from 雇员"
        odcommand.Connection = odc
        odc.Open()

        Dim odReader As OleDbDataReader
        odReader = odcommand.ExecuteReader(CommandBehavior.SingleResult)
        If odReader.HasRows Then
            Do While odReader.Read
                cbEmployee.Items.Add(odReader("姓名"))
            Loop
        End If
        cbEmployee.SelectedIndex = 0
    End Sub
当从cbEmployee中选择雇员时,显示相应信息,
需要注意的是这里我偷了一个懒,由于雇员ID是递增的,中间没有删除遗漏,所以可以使用cbEmployee中Item的index来获得雇员ID。
    Private Sub cbEmployee_SelectedIndexChanged(sender As Object,e As EventArgs) Handles cbEmployee.SelectedIndexChanged
        Dim id As Integer = cbEmployee.SelectedIndex + 1
        Dim odcommand As New OleDbCommand()
        odcommand.CommandText = "select * from 雇员 where 雇员ID=" & id
        odcommand.Connection = odc

        Dim odReader As OleDbDataReader
        odReader = odcommand.ExecuteReader(CommandBehavior.SingleResult Or CommandBehavior.SingleRow)
        If odReader.HasRows Then
            odReader.Read()
            txtDuties.Text = odReader("职务")
            txtAppellation.Text = odReader("尊称")
            dtpBirthday.Value = odReader("出生日期")
            dtpEmployDay.Value = odReader("雇用日期")
            txtCountry.Text = odReader("国家")
            txtCity.Text = odReader("城市")
            txtArea.Text = odReader("地区")
            txtAddress.Text = odReader("地址")
            txtZipcode.Text = odReader("邮政编码")
            txtPhone.Text = odReader("家庭电话")
        Else
                MessageBox.Show("错误的编号")
        End If
    End Sub
运行效果如下:


由于.net平台下C#和vb.NET很相似,本文也可以为C#爱好者提供参考。

学习更多vb.net知识,请参看vb.net 教程 目录

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读