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

版权声明:本文为博主原创文章,转载请在显著位置标明本文出处以及作者网名,未经作者允许不得用于商业目的。

下面将用实例来说明mdb数据库操作:
在这里插入图片描述

当按钮1按下时候:

Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
    Dim odc As New OleDbConnection()
    odc.ConnectionString = "Provider = Microsoft.ACE.OLEDB.12.0;data source=D:\save\博客教程\08 数据库\Northwind.mdb;"
 
    Dim odcommand As New OleDbCommand()
    odcommand.CommandText = "select 产品.产品名称 as 产品名称,类别.类别名称 as 类别 from 产品 inner join 类别 on 产品.类别ID=类别.类别ID where 产品.单价>30"
    odcommand.Connection = odc
    odc.Open()
 
    Dim odReader As OleDbDataReader
    odReader = odcommand.ExecuteReader(CommandBehavior.SingleResult)
 
    Dim queryString As String = ""
    If odReader.HasRows Then
        Do While odReader.Read
            queryString &= odReader.GetName(0) & ":" & odReader.GetString(0) & "   " & odReader.GetName(1) & ":" & odReader.GetValue(1) & vbCrLf
        Loop
    End If
 
    odc.Close()
    TextBox1.Text = queryString
End Sub

对以上代码进行分析:

建立OleDbConnection odc

设置odc的连接字符串,Provider是使用vb.net教程的数据驱动,由于我是用的电脑系统是win10 64位,所以这里设置的是Microsoft.ACE.OLEDB.12.0 (更多信息请参看我的另外一篇博文:vs2015 64位系统下使用mdb数据库问题 ),data source是数据库的路径,如果数据库和程序在同一目录下也可以使用:data source=Northwind.mdb。

新建OleDbCommand实例 odcommand

设置odcommand的sql命令:获得产品名称和类别,其中用到了内联查询,有关sql简单操作,请参看 《简单的SQL语言》相关内容

设置odcommand的数据连接为odc

打开数据连接

新建OleDbDataReader odReader

odcommand使用ExecuteReader方法将数据读取到odReader,并且只返回一个查询的结果,

     其中,CommandBehavior是一个枚举,主要成员有:
     CloseConnection 在执行该命令时,如果关闭关联的 DataReader 对象,则关联的 Connection 对象也将关闭。 
     SchemaOnly 查询仅返回列信息。
     SingleResult 查询只返回一个查询结果集。 注意,odcommand可以同时执行多个查询。
     SingleRow 查询应返回结果集中的单个行

如果odReader中包含数据,那么

使用odReader.Read方法循环读取

读取的结果包括列名(GetName)和对应的值(GetString或GetValue),

GetName(0)中,数字0是对应查询结果的第一项;GetName(1)是查询结果第二项

GetString(0)是获得对应的字符串值,GetByte、GetInt16、GetInt32……是获得对应数据类型的值。
更简单的方法是直接用 GetValue,系统可以对应的转换。

最后关闭连接。

结果如下:

在这里插入图片描述

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值