2024-09-20 09:59:41
在access数据库里将字段的类型设置为ole对象
Public img As Byte() '图片处理用的字节数组
img=My.Computer.FileSystem.ReadAllBytes(filePath)'filePath是你图片文件的路径
剩下的就是数据库插入操作了
Dim cn As New OleDb.OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=Data.mdb")
Dim comm As OleDb.OleDbCommand
comm = New OleDb.OleDbCommand( _
"INSERT INTO Photo(BuFan_F,PhotoNo,Photo) Values('" & Me.CobBuFan.Text.Trim & "','" & Me.txtNo.Text.Trim & "',@image)", cn)
'向数据库添加存储了图片数据的二进制数组
comm.Parameters.Add("@image", _
OleDb.OleDbType.Binary, img.Length).Value = img
If cn.State = ConnectionState.Closed Then cn.Open() '打开数据库连接
comm.ExecuteNonQuery() '执行数据库命令
If cn.State = ConnectionState.Open Then cn.Close() '关闭数据库连接
MessageBox.Show("图片成功保存到数据库", "完成", MessageBoxButtons.OK, MessageBoxIcon.Information)
2024-09-20 06:27:56
我用VB2008测试,提示下列参数未定义类型(能帮我把程序写全吗?非常感谢)
Dim cn As ADODB.Connection
Dim rS As ADODB.Recordset
Dim mstream As ADODB.Stream
引用一下0bjects 2.5或引用0bjects 2.6
还有上述错误信息,能帮我处理吗?非常感谢!!
我是VB2007,难道你装的是VB2008精简版?
另外第六个错误好像代码中没写,是从哪里来的
您看一下
给你一个实例运行程序看看是否是这个效果
读取正常,保存失败。另程序中的有些括号是自动加上的删不掉。
替换下试试看,我这里测试很正常