如何用ADO SQL2000存取二进制型数据varbinary 和 image型数据?(100)

  • 主题发起人 主题发起人 々飞翔鸟々
  • 开始时间 开始时间

々飞翔鸟々

Unregistered / Unconfirmed
GUEST, unregistred user!
如何用ADO SQL2000存取二进制型数据varbinary 和 image型数据?希望能提供一份例子,谢谢
 
if (adods.RecordCount > 0) then begin adods.First; bField := TBlobField(adods.FieldByName('nr')); bField.SaveToStream(result); end; 读取 if anr.Size>0 then ParamByName('name1').LoadFromStream(anr, ftBlob);、、保存
 
TBlobField(adods.FieldByName('nr')).savetofile ( filename )TBlobField(adods.FieldByName('nr')).loadfromfile ( filename )
 
给完整点好吗?
 
是你的要求不够具体。ADOQuery.Close;ADOQuery.SQL.TEXT:='Select * From 表1';ADOQuery.Open;这样就取得数据了啊,关键是你下一步想干嘛?
 
我想读出来, 放到一个char buf[]中, 应该怎么做?谢谢我用下面的代码写进数据库去了 int countofchar = 100; unsigned char data[100]; for (int i = 0; i < countofchar; i++) { data = (unsigned char) i; } VARIANT varBLOB; SAFEARRAY *psa; SAFEARRAYBOUND rgsabound[1]; rgsabound[0].lLbound = 0; rgsabound[0].cElements = countofchar; psa = SafeArrayCreate(VT_UI1, 1, rgsabound); BYTE* pByte; if(SafeArrayAccessData(psa,(void**)&pByte) == NOERROR) memcpy((LPVOID)pByte,(LPVOID)&data, countofchar); SafeArrayUnaccessData(psa); varBLOB.vt = VT_ARRAY | VT_UI1; varBLOB.parray = psa; Q->Close(); Q->SQL->Clear(); Q->SQL->Text = "select * from abc"; Q->Open(); Q->Append(); Q->FieldByName("test")->AsVariant = varBLOB; Q->Post();现在我想读出来, 放到一个char buf[]中, 应该怎么做?谢谢
 
Stream:= TMemoryStream.Create; TBlobField( Q.FieldByName(test') ).SaveToStream( Stream ); Stream.Position:=0; Stream.Read( Buffer, Stream.Size ) Stream.FREE;
 
执行到这句 TBlobField( Q.FieldByName(test') ).SaveToStream( Stream );时出错:Invalid class typecast编译没问题
 
刚才把数据类型从varbinary 改成 image 就不报Invalid class typecast错了 不知道为啥
 
if Q.FieldByName(test').IsBlob thenbegin Stream:= TMemoryStream.Create; TBlobField( Q.FieldByName(test') ).SaveToStream( Stream ); Stream.Position:=0; Stream.Read( Buffer, Stream.Size ) Stream.FREE; endelse showmessage('字段不是Blob类型的');-------------或者你读到一个variant类型里面去,然后在逐个读取出来。
 
接受答案了.
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
1K
SUNSTONE的Delphi笔记
S
后退
顶部