在数据库中的字段有IMAGE类型,但我该怎么给该字段付值,该字段的大小又是怎么定的?请各位高手明示。如果可以,希望再告诉我在DELPHI中怎么用该字段。
---------------------------------------------------------------
用流的方式读出和写入。
你是不是走错了门了,这里是pb版?
---------------------------------------------------------------
用stream。
---------------------------------------------------------------
你是从什么地方写入。用什么写入。
下面我把我做的一个ASP程序写出来。希望对你有帮助
<%dim rs
dim formsize,formdata,bncrlf,divider,datastart,dataend,mydata
formsize=request.totalbytes
formdata=request.binaryread(formsize)
bncrlf=chrB(13) & chrB(10)
divider=leftB(formdata,clng(instrb(formdata,bncrlf))-1)
datastart=instrb(formdata,bncrlf & bncrlf)+4
dataend=instrb(datastart+1,formdata,divider)-datastart
mydata=midb(formdata,datastart,dataend)
%><!--#include file="../conn.asp"--><%
Set rs = Server.CreateObject("ADODB.Recordset")
sql="select *from pic where id="&session("id")
rs.open sql ,conn,3,3
if rs.eof then
set rs=nothing
Set rs = Server.CreateObject("ADODB.Recordset")
rs.Open "pic",conn,3,2
rs.addnew
rs("id")=session("id")
rs("big").appendchunk mydata
rs("date")=date
rs.update
set rs=nothing
else
rs("big").appendchunk mydata
rs("date")=date
rs.update
end if
Response.Write "图片上传成功,显示如下。<a href='default.asp'>返回请按此</a>"
%>
---------------------------------------------------------------
前两天看一位老兄贴得,挺好使(vb的代码).如下
Dim mstream As ADODB.Stream
'写入
Set mstream = New ADODB.Stream
mstream.Type = adTypeBinary
mstream.Open
mstream.LoadFromFile 装入的图片文件名
rs.Fields("字段名").Value = mstream.Read
rs.Update
'读出
Set mstream = New ADODB.Stream
mstream.Type = adTypeBinary
mstream.Open
mstream.Write rs.Fields("字段名").Value
mstream.SaveToFile "c:/publogo.gif", adSaveCreateOverWrite
---------------------------------------------------------------
var Sv:OleVariant;
保存数据到变量Sv中
Adoquery1.Edit ;
AdoQuery1.FieldByName('mFile').SetData(@Sv);
AdoQuery1.Post;
---------------------------------------------------------------
用流的方式读出和写入。
你是不是走错了门了,这里是pb版?
---------------------------------------------------------------
用stream。
---------------------------------------------------------------
你是从什么地方写入。用什么写入。
下面我把我做的一个ASP程序写出来。希望对你有帮助
<%dim rs
dim formsize,formdata,bncrlf,divider,datastart,dataend,mydata
formsize=request.totalbytes
formdata=request.binaryread(formsize)
bncrlf=chrB(13) & chrB(10)
divider=leftB(formdata,clng(instrb(formdata,bncrlf))-1)
datastart=instrb(formdata,bncrlf & bncrlf)+4
dataend=instrb(datastart+1,formdata,divider)-datastart
mydata=midb(formdata,datastart,dataend)
%><!--#include file="../conn.asp"--><%
Set rs = Server.CreateObject("ADODB.Recordset")
sql="select *from pic where id="&session("id")
rs.open sql ,conn,3,3
if rs.eof then
set rs=nothing
Set rs = Server.CreateObject("ADODB.Recordset")
rs.Open "pic",conn,3,2
rs.addnew
rs("id")=session("id")
rs("big").appendchunk mydata
rs("date")=date
rs.update
set rs=nothing
else
rs("big").appendchunk mydata
rs("date")=date
rs.update
end if
Response.Write "图片上传成功,显示如下。<a href='default.asp'>返回请按此</a>"
%>
---------------------------------------------------------------
前两天看一位老兄贴得,挺好使(vb的代码).如下
Dim mstream As ADODB.Stream
'写入
Set mstream = New ADODB.Stream
mstream.Type = adTypeBinary
mstream.Open
mstream.LoadFromFile 装入的图片文件名
rs.Fields("字段名").Value = mstream.Read
rs.Update
'读出
Set mstream = New ADODB.Stream
mstream.Type = adTypeBinary
mstream.Open
mstream.Write rs.Fields("字段名").Value
mstream.SaveToFile "c:/publogo.gif", adSaveCreateOverWrite
---------------------------------------------------------------
var Sv:OleVariant;
保存数据到变量Sv中
Adoquery1.Edit ;
AdoQuery1.FieldByName('mFile').SetData(@Sv);
AdoQuery1.Post;