vb.net 使用Access数据库 保存和读取图片文件

不好意思忘记是转帖那位网友的。

 

下面是一个简单的演示

Access数据库
字段名称    数据类型
编号          自动编号
pic             OLE 对象

Public Class Form1
    Dim Conn As New OleDb.OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:/db.mdb")
    Dim Cmd As New OleDb.OleDbCommand
    Dim DataRd As OleDb.OleDbDataReader

    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        Cmd.Connection = Conn
        Cmd.Parameters.Add(New OleDb.OleDbParameter)
    End Sub

    '添加图片
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        Dim OpenDialog As New OpenFileDialog
        If OpenDialog.ShowDialog = Windows.Forms.DialogResult.OK Then
            Dim da() As Byte
            da = My.Computer.FileSystem.ReadAllBytes(OpenDialog.FileName)
            Cmd.CommandText = "insert into biao(pic) values(?)"
            Cmd.Parameters(0).Value = da
            Conn.Open()
            If Cmd.ExecuteNonQuery > 0 Then
                MsgBox("添加图片成功")
            End If
            Conn.Close()
        End If
    End Sub

    '读取图片
    Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
        Cmd.CommandText = "select pic from biao where 编号=1" '注意选择编号
        Conn.Open()
        DataRd = Cmd.ExecuteReader
        If DataRd.Read Then
            Dim da() As Byte
            da = DataRd(0)
            PictureBox1.Image = Bitmap.FromStream(New IO.MemoryStream(da))
        End If
        DataRd.Close()
        Conn.Close()
    End Sub
End Class

要在VB.NET获取Access数据库的对象,可以使用ADO.NET技术来连接和操作数据库。 首先,需要在VB.NET项目添加对`System.Data.OleDb`命名空间的引用。在代码使用`OleDbConnection`类来创建一个数据库连接对象,并指定Access数据库文件的连接字符串。 接下来,可以使用`OleDbCommand`类来执行SQL查询和更新命令。通过创建一个`OleDbCommand`对象,设置其`CommandText`属性为所需的SQL语句,然后调用`ExecuteReader`方法来获取查询结果的数据取器。 如果需要操作Access数据库的表格或查询结果的记录,可以使用`OleDbDataAdapter`类或者直接使用`OleDbCommand`的`ExecuteNonQuery`方法。 以下是一个示例代码,演示了如何连接Access数据库,执行查询语句,并获取查询结果的数据: ```vb Imports System.Data.OleDb Public Class Form1 Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click Dim connectionString As String = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\path\to\database.accdb" Dim sqlQuery As String = "SELECT * FROM TableName" Using connection As New OleDbConnection(connectionString) connection.Open() Using command As New OleDbCommand(sqlQuery, connection) Using reader As OleDbDataReader = command.ExecuteReader() While reader.Read() Dim column1Value As String = reader.GetString(0) ' 获取第一列的值 Dim column2Value As Integer = reader.GetInt32(1) ' 获取第二列的值 ' 对每一行的数据进行操作 End While End Using End Using End Using End Sub End Class ``` 以上是一个基本的示例,可以根据具体需求进行修改和扩展。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值