下面这段代码有问题?

zhaochengqing 2004-11-18 10:29:25
我用这段代码来保存CAD文件到SQL数据库中去,大家帮我看看!

Public Sub SvaeToDB(FileName As String)

Set cn = New ADODB.Connection
cn.Open "Provider=SQLOLEDB.1;Persist Security Info=False;User ID=sa;Initial Catalog=bhxt;Data Source=LFDW2K"

Set rs = New ADODB.Recordset
rs.Open "select * from ydwzb", cn, adOpenKeyset, adLockOptimistic

Set mstream = New ADODB.Stream
mstream.Type = adTypeBinary
mstream.Open
mstream.LoadFromFile FileName
rs.Fields("Position").Value = mstream.Read
rs.Update

Set mstream = Nothing
rs.Close
cn.Close

End Sub
...全文
105 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhaochengqing 2004-11-24
  • 打赏
  • 举报
回复
各位
我调试出来了,只要把字段类型改成"Image"就可以了,原来我用的是"binary"这个小了,这个最多只能保存8000字节,而"Image"可以保存2的31次方减1字节.
ivan2525 2004-11-23
  • 打赏
  • 举报
回复

Public Sub SvaeToDB(FileName As String)

Set cn = New ADODB.Connection
cn.Open "Provider=SQLOLEDB.1;Persist Security Info=False;User ID=sa;Initial Catalog=bhxt;Data Source=LFDW2K"

Set rs = New ADODB.Recordset
rs.Open "select * from ydwzb", cn, adOpenKeyset, adLockOptimistic

Set mstream = New ADODB.Stream
mstream.Type = adTypeBinary
mstream.Open
mstream.LoadFromFile FileName
rs.Fields("主键").Value = "NO."这里没有update的地方,当然插入不到数据库中去了。
rs.Fields("Position").Value = mstream.Read
rs.Update

Set mstream = Nothing
rs.Close
cn.Close

End Sub

还有数据库应该用Image类型就好了
zhaochengqing 2004-11-23
  • 打赏
  • 举报
回复
各位:
上面这段代码是没有问题,只要把字段类型改为“Image”就行啦,因为“binary”只能保存8000个字节,而CAD文件不止这么大,用“Image”可以保存2的31次方减1个字节的数据。
zhaochengqing 2004-11-18
  • 打赏
  • 举报
回复
什么mark啊说清楚点我是初学者!
daisy8675 2004-11-18
  • 打赏
  • 举报
回复
文件打开啊,mark先
zhaochengqing 2004-11-18
  • 打赏
  • 举报
回复
Public Sub SvaeToDB(FileName As String)

Set cn = New ADODB.Connection
cn.Open "Provider=SQLOLEDB.1;Persist Security Info=False;User ID=sa;Initial Catalog=bhxt;Data Source=LFDW2K"

Set rs = New ADODB.Recordset
rs.Open "select * from ydwzb", cn, adOpenKeyset, adLockOptimistic

Set mstream = New ADODB.Stream
mstream.Type = adTypeBinary
mstream.Open
mstream.LoadFromFile FileName //在这里会报错,“实时错误3002,File could not be opened
rs.Fields("Position").Value = mstream.Read
rs.Update

Set mstream = Nothing
rs.Close
cn.Close

End Sub

1,216

社区成员

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

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