bonjour
je suis debutant en vb.net
Pouvez vous m'indiquez le code complet pour insérer une image avec ADO.NET dans une base de données access ( dans un champ de type OLE )
merci par avance
Version imprimable
bonjour
je suis debutant en vb.net
Pouvez vous m'indiquez le code complet pour insérer une image avec ADO.NET dans une base de données access ( dans un champ de type OLE )
merci par avance
Les bases access étant limitée en taille le mieux est de sauvgarder le chemin de l'image dans la base, et de charger l'image quand on en a besoin.
Pour stocker une image directement dans une base access il existe ce code/
Voila.Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34 File name is Image.vb Imports System Imports System.IO Imports System.Data Public Class SaveImage Shared Sub main() Dim o As System.IO.FileStream Dim r As StreamReader Dim gifFile As String Console.Write("Enter a Valid .Gif file path") gifFile = Console.ReadLine If Dir(gifFile) = "" Then Console.Write("Invalid File Path") Exit Sub End If o = New FileStream(gifFile, FileMode.Open, FileAccess.Read, FileShare.Read) r = New StreamReader(o) Try Dim FileByteArray(o.Length - 1) As Byte o.Read(FileByteArray, 0, o.Length) Dim Con As New _ System.Data.OleDb.OleDbConnection("Provider=Microsoft.Jet.OLEDB.3.51;Persist Security Info=False;Data Source=Test.mdb") Dim Sql As String = "INSERT INTO Images (Pic,FileSize) VALUES (?,?)" Dim Cmd As New System.Data.OleDb.OleDbCommand(Sql, Con) Cmd.Parameters.Add("@Pic", System.Data.OleDb.OleDbType.Binary, o.Length).Value = FileByteArray Cmd.Parameters.Add("@FileSize", System.Data.OleDb.OleDbType.VarChar, 100).Value = o.Length Con.Open() Cmd.ExecuteNonQuery() Con.Close() Catch ex As Exception Console.Write(ex.ToString) End Try End Sub End Class