插入Byte数组到OLE对象的字段

vansoft 2006-11-08 03:22:46
ACCESS数据库,表test,字段test,类型OLE对象。

s是Byte数组,用下面的方法可以。
sql = "select * from test" 'SQL语句
Set R = ExecuteSQL2(sql) '得到记录集
R.AddNew '新增
R.Fields("test") = s '付值
R.Update '更新数据库
Set R = Nothing
用上面的方法可以成功将S保存到数据库。

是否可以用insert into直接插入呢?
sql = "insert into test(test) values(?)"
Dim oCon As New ADODB.Connection
Dim oCmd As New ADODB.Command

oCon.ConnectionString = ConnectString
oCon.Open
oCmd.ActiveConnection = oCon
oCmd.CommandType = adCmdText
oCmd.CommandText = sql
oCmd.Parameters(0).Type = adVariant
oCmd.Parameters(0) = s
oCmd.Execute
Set oCmd = Nothing
oCon.Close
Set oCon = Nothing

不是报字段类型不对(参数的type值试过N多了。),
adVariant就是报:
多步 OLE DB 操作产生错误。如果可能,请检查每个 OLE DB 状态值。没有工作被完成。

请高手指教!!!!!


...全文
207 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
vansoft 2006-11-09
  • 打赏
  • 举报
回复
WinXP(SP2) + Office2003,我的程序。

后来把所有的type试了一下,用adBSTR解决了。
adBinary在我这不行。报类型不匹配。
Hassle 2006-11-08
  • 打赏
  • 举报
回复
Option Explicit

Private Sub Command1_Click()
Dim aData(0 To 9) As Byte
Dim i As Long
Dim sSQL As String
Dim oConn As ADODB.Connection
Dim oComm As ADODB.Command

For i = 0 To 9
aData(i) = i
Next

sSQL = "INSERT INTO MyTable(MyField) VALUES(?)"

Set oConn = New ADODB.Connection
oConn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\Test.mdb;Persist Security Info=False"
Set oComm = New ADODB.Command
oComm.ActiveConnection = oConn
oComm.CommandType = adCmdText
oComm.CommandText = sSQL
oComm.Parameters(0).Type = adBinary
oComm.Parameters(0).Value = aData
oComm.Execute
Set oComm = Nothing
oConn.Close
Set oConn = Nothing
End Sub

WinXP(SP2) + Office2002没有发现楼主说的现象
我怀疑是连接的问题
mustudent 2006-11-08
  • 打赏
  • 举报
回复
我猜楼主用的流对象
//和我猜的一樣 ONLINE的BLOG上存在
ilove8 2006-11-08
  • 打赏
  • 举报
回复
up
迈克揉索芙特 2006-11-08
  • 打赏
  • 举报
回复
我猜楼主用的流对象
mustudent 2006-11-08
  • 打赏
  • 举报
回复
何必尼!
直接給分好了
把你的方法給出來 Ok
vansoft 2006-11-08
  • 打赏
  • 举报
回复
自己已经解决,第一位贴出正确答案者给分。
mustudent 2006-11-08
  • 打赏
  • 举报
回复
邦頂

1,216

社区成员

发帖
与我相关
我的任务
社区描述
VB 数据库(包含打印,安装,报表)
社区管理员
  • 数据库(包含打印,安装,报表)社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧