怎样在SQL server 2000 中存放图片??

bnjz 2002-12-19 08:44:49
谢谢?
...全文
66 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
lizongqi 2003-01-16
  • 打赏
  • 举报
回复
up
宸瑜 2003-01-02
  • 打赏
  • 举报
回复
ADODB.steam是何东东啊,是不是定义的一个结构啊
xysophie 2003-01-02
  • 打赏
  • 举报
回复
up
bnjz 2003-01-02
  • 打赏
  • 举报
回复
谢谢大家这个问题我已经解决了,我的前台用的是处理办法如下:

把图片保存到数据库
Dim cnn As New ADODB.Connection
Dim rs As New ADODB.Recordset
Dim stm As ADODB.Stream

`把图片保存到数据库
Private Sub SavePictureToDB(cn As ADODB.Connection)
Set stm = New ADODB.Stream
rs.Open "select * from image", cn, adOpenKeyset, adLockOptimistic
With stm
.Type = adTypeBinary
.Open
.LoadFromFile "e:\aaa\052.jpg"
End With
With rs
.AddNew
.Fields("Image") = stm.Read
.Update
End With
rs.Close
Set rs = Nothing
End Sub


`把图片从数据库取出
Private Sub LoadPictureFromDB(cn As ADODB.Connection)
Dim fld As Field
Dim strTemp As String
Set stm = New ADODB.Stream
strTemp = "c:\temp.tmp" `临时文件,用来保存读出的图片
rs.Open "select * from image", cn, , , adCmdText
MSHFlexGrid1.Redraw = False `增强性能
Do Until rs.EOF
For Each fld In rs.Fields
If fld.Type = adLongVarBinary Then
With stm
.Type = adTypeBinary
.Open
.Write fld.value
.SaveToFile strTemp, adSaveCreateOverWrite
.Close
End With
MSHFlexGrid1.Row = MSHFlexGrid1.Rows - 1
Set MSHFlexGrid1.CellPicture = LoadPicture(strTemp) `在mshflexgrid里显示图片
End If
Next fld
MSHFlexGrid1.Rows = MSHFlexGrid1.Rows + 1
rs.MoveNext
Loop
Set stm = Nothing
MSHFlexGrid1.Rows = MSHFlexGrid1.Rows - 1
MSHFlexGrid1.Redraw = True
rs.Close
Set rs = Nothing
Image1.Picture = LoadPicture(strTemp) `在image控件里显示最后一张图片
End Sub


pengdali 2002-12-21
  • 打赏
  • 举报
回复
image类型!


下面是一个拷贝图像到SQL Server的pubs数据库的例子, 表名pub_info, 字段名logo,图像文件名picture.bmp,保存到pub_id='0736'记录
sp_textcopy @srvn
ame = 'ServerName',
@login = 'Login',
@password = 'Password',
@dbname = 'pubs',
@tbname = 'pub_info',
@colname = 'logo',
@filename = 'c:\picture.bmp',
@whereclause = " WHERE pub_id='0736' ",
@direction = 'I'
showmetheway 2002-12-20
  • 打赏
  • 举报
回复
我也想知道。。。
bnjz 2002-12-20
  • 打赏
  • 举报
回复
blob是个什么类型好像没见过!
hbwhwanghua 2002-12-19
  • 打赏
  • 举报
回复
其实很好解决,存放图片的字段类型可以为image,我不知道你前台用什么开发工具,不过SQL语句应该差不多,一般作法是先往数据表插入一条记录,然后用updateblob tablename set piccol = :lbob_pic where ...
其中piccol即为image型字段,在前台程序中先把图片转换成blob类型的变量,各种前台工具可能转换方法不一样
以前的贴子也有,可以搜一下!
bnjz 2002-12-19
  • 打赏
  • 举报
回复
也没找到??
Jungson 2002-12-19
  • 打赏
  • 举报
回复
这个问题我也关注很久了,就是没有得到实质性的解决!

22,209

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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