★★★★★和大家讨论一下如何往数据库中保存一个大字段(比如文件)★★★★★

梅文海 2002-07-27 11:03:24
1.字段用什么类型
2.如果是一个流,该如何?
...全文
37 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
梅文海 2002-08-05
  • 打赏
  • 举报
回复
我的问题基本解决,我是用“流”解决的。
wumengs 2002-07-27
  • 打赏
  • 举报
回复
//把图象文件导入到TDBImage控件中
procedure SaveToDBImage(APicType: TPicType; AFileName: string; ADBImage: TDBImage);
var
myJpg: TJpegImage;
begin
if (ADBImage.DataSource.State = dsEdit) or (ADBImage.DataSource.State = dsInsert) then
begin
if APicType = bmp then
begin
ADBImage.Picture.LoadFromFile(AFileName);
exit;
end;

if APicType = jpg then
begin
myJpg := TJpegImage.Create;
try
myJpg.LoadFromFile(AFileName);
ADBImage.Picture.Graphic.Assign(myJpg);
finally
myJpg.Free;
end;
end;
end;
end;

//把TDBImage控件图象导入到图象文件中
procedure LoadFromDBImage(APicType: TPicType; AFileName: string; ADBImage: TDBImage);
var
myJpg: TJpegImage;
begin
if APicType = bmp then
begin
ADBImage.Picture.SaveToFile(AFileName);
exit;
end;

if APicType = jpg then
begin
myJpg := TJpegImage.Create;
try
myJpg.Assign(ADBImage.Picture.Graphic);
myJpg.SaveToFile(AFileName);
finally
myJpg.Free;
end;
end;
end;
chechy 2002-07-27
  • 打赏
  • 举报
回复
写数据库可以用TBlobField.LoadFromStream,而读取可以用TBlobField.SaveToStream
梅文海 2002-07-27
  • 打赏
  • 举报
回复
我现在用的是SQL Server,字段是Image类型。
写数据库我用CreateBlobStream,
读数据库我应该用什么?
taxi 2002-07-27
  • 打赏
  • 举报
回复
Blob字段。
类型要看是用什么数据库了,Paradox可用Graphic,Access是OLE,Sql Server可以用Image类型的字段。
TBlobField(AdoTable1.FieldByName('Data')).LoadFromStream()
chechy 2002-07-27
  • 打赏
  • 举报
回复
1、如果是文本,用MEMO,要不就用BLOB类型(不同的数据库BLOB具体类型会不一样,SQL Server好像是Graphic)
2、也可以存入BLOB类型。

2,497

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 数据库相关
社区管理员
  • 数据库相关社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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