请问数据库为sql server,字段为为text的数据怎么读取?(50分)

  • 主题发起人 主题发起人 xcwbl
  • 开始时间 开始时间
X

xcwbl

Unregistered / Unconfirmed
GUEST, unregistred user!
字段a为text型,
我用str:=ADOQuery.FieldByName('a').astring读取,发现str为'';而在c++builder中
却不会,请教高手怎么解决?
 
str:=ADOQuery.FieldByName('a').astring应该没有问题
是不是你的delphi版本问题?
 
按说AsString应该可以的,不过把它作为Blob字段读出来也不应该错。
function TForm1.DBToDisk(Query_String, Column_Name, Target_Name: string): Boolean;
var
l_FileStream: TFileStream;
begin
{从数据库中取出数据}
with Query1 do
begin
Close;
SQL.Text := Query_String;
Open;
end;

{将数据库中Image字段保存到硬盘下,存为文件}
l_FileStream := TFileStream.Create(Target_Name, fmOpenWrite or fmCreate);
l_FileStream.Position := 0;
TBlobField(Query1.FieldByName(Column_Name)).SaveToStream(l_FileStream);
l_FileStream.Free;

Query1.Close;
Result := True; //所有任务彻底完成,Function返回True
end;
 
对,一般是做为Blob域或者Memo域来读取的
AsString好想也是可以的,不过AsString好像只能取出255个字符
 
不好意思,我用的是asta的astacilentdataset控件,取text型式字段时可用
astacilentdataset.FetchBlobString()即解决问题!
 

Similar threads

后退
顶部