积极答复者
怎样用vb.net2005连接数据库? 怎样把用VB.NET在数据库中存取图片??

问题
答案
-
Imports System
Imports System.IO
Imports System.Data
Imports System.Data.OleDb
Public Class Form1
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
''添加图片
Dim o As System.IO.FileStream
Dim r As StreamReader
o = New FileStream("E:\bjxml20071016004.jpg", FileMode.Open, FileAccess.Read, FileShare.Read)
r = New StreamReader(o)
Dim FileByteArray(o.Length - 1) As Byte
o.Read(FileByteArray, 0, o.Length)
Dim cn As System.Data.OleDb.OleDbConnection = New System.Data.OleDb.OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=E:\WebSite1\vb\WindowsApplication1\WindowsApplication1\Image2Access.mdb")
cn.Open()
Dim command As System.Data.OleDb.OleDbCommand = New System.Data.OleDb.OleDbCommand("INSERT INTO Person (PersonName,PersonEmail,PersonSex,PersonImageType,PersonImage) VALUES (@PersonName,@PersonEmail,@PersonSex,@PersonImageType,@PersonImage)", cn)
command.Parameters.AddWithValue("@PersonName", "name")
command.Parameters.AddWithValue("@PersonEmail", "mengxianhui@dotnet.aspx.cc")
command.Parameters.AddWithValue("@paramPersonSex", "男")
command.Parameters.AddWithValue("@PersonImageType", "image/jpeg")
command.Parameters.AddWithValue("@PersonImage", FileByteArray)
command.ExecuteNonQuery()
cn.Dispose()
End Sub
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
''显示图片
Dim memoryStream As System.IO.MemoryStream
Dim cn As System.Data.OleDb.OleDbConnection = New System.Data.OleDb.OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=E:\WebSite1\vb\WindowsApplication1\WindowsApplication1\Image2Access.mdb")
cn.Open()
Dim command As System.Data.OleDb.OleDbCommand = New System.Data.OleDb.OleDbCommand("select top 1 * from Person Order By PersonID DESC", cn)
Dim dr As OleDbDataReader = command.ExecuteReader
If (dr.Read) Then
Dim buffer As Byte()
buffer = CType(dr("PersonImage"), Byte())
memoryStream = New System.IO.MemoryStream(buffer)
Me.PictureBox1.Image = New System.Drawing.Bitmap(memoryStream)
memoryStream.Dispose()
End If
cn.Dispose()
End Sub
End Class
【孟子E章】- 已标记为答案 litianlt 2009年8月21日 8:06
全部回复
-
-
你好!
连接Access可以这样:
Private Function getAccessConnection() As OleDbConnection
Dim dbConnectionString As String = "Provider=Microsoft.Jet.OLEDB.4.0;
Data Source=C:\myDatabase.mdb;Persist Security Info=true"
Dim dbConnection As OleDbConnection = New OleDbConnection(dbConnectionString)Try
dbConnection.Open()
Catch Ex As Exception
’MsgBox(Err.Description)
End TryReturn dbConnection
End Function
连接Sql Server可以这样:
Dim connection As SqlConnection = New SqlConnection("Data Source=(local);Initial Catalog=AdventureWorks; Integrated Security=SSPI; Integrated Security=SSPI;")
connection.Open()
周雪峰 -
我是这样写的
Dim dbConnectionString As String = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\My Documents\Visual Studio 2005\Projects\PicturetoAccess\\PicturetoAccess\txgz.mdb;Persist Security Info=true;User ID=Admin;Database Password=lt"
不过提示错误 “找不到可安装的ISAM”。这是怎么回事呢,不设密码的情况下就可以
如果写成这样: Dim dbConnectionString As String = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\My Documents\Visual Studio 2005\Projects\PicturetoAccess\\PicturetoAccess\txgz.mdb;Persist Security Info=true;User ID=Admin; Password=lt" 就提示错误:“无法启动应用程序,工作组信息文件丢失,或已被其它文件以独占方式打开”
昨夜西风凋碧树,独上高楼,望尽天涯路! -
Imports System
Imports System.IO
Imports System.Data
Imports System.Data.OleDb
Public Class Form1
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
''添加图片
Dim o As System.IO.FileStream
Dim r As StreamReader
o = New FileStream("E:\bjxml20071016004.jpg", FileMode.Open, FileAccess.Read, FileShare.Read)
r = New StreamReader(o)
Dim FileByteArray(o.Length - 1) As Byte
o.Read(FileByteArray, 0, o.Length)
Dim cn As System.Data.OleDb.OleDbConnection = New System.Data.OleDb.OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=E:\WebSite1\vb\WindowsApplication1\WindowsApplication1\Image2Access.mdb")
cn.Open()
Dim command As System.Data.OleDb.OleDbCommand = New System.Data.OleDb.OleDbCommand("INSERT INTO Person (PersonName,PersonEmail,PersonSex,PersonImageType,PersonImage) VALUES (@PersonName,@PersonEmail,@PersonSex,@PersonImageType,@PersonImage)", cn)
command.Parameters.AddWithValue("@PersonName", "name")
command.Parameters.AddWithValue("@PersonEmail", "mengxianhui@dotnet.aspx.cc")
command.Parameters.AddWithValue("@paramPersonSex", "男")
command.Parameters.AddWithValue("@PersonImageType", "image/jpeg")
command.Parameters.AddWithValue("@PersonImage", FileByteArray)
command.ExecuteNonQuery()
cn.Dispose()
End Sub
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
''显示图片
Dim memoryStream As System.IO.MemoryStream
Dim cn As System.Data.OleDb.OleDbConnection = New System.Data.OleDb.OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=E:\WebSite1\vb\WindowsApplication1\WindowsApplication1\Image2Access.mdb")
cn.Open()
Dim command As System.Data.OleDb.OleDbCommand = New System.Data.OleDb.OleDbCommand("select top 1 * from Person Order By PersonID DESC", cn)
Dim dr As OleDbDataReader = command.ExecuteReader
If (dr.Read) Then
Dim buffer As Byte()
buffer = CType(dr("PersonImage"), Byte())
memoryStream = New System.IO.MemoryStream(buffer)
Me.PictureBox1.Image = New System.Drawing.Bitmap(memoryStream)
memoryStream.Dispose()
End If
cn.Dispose()
End Sub
End Class
【孟子E章】- 已标记为答案 litianlt 2009年8月21日 8:06