【发布时间】:2021-07-10 02:44:06
【问题描述】:
我的 Delphi 10.4.2 项目使用以下代码将 .WAV 文件的内容存储在 SQLite3 数据库 blob 字段中:
fSQLite3Query: TFDQuery;
fSQLite3Query.ParamByName(kSQLFieldMultimediaFileContents).LoadFromFile(MultimediaFileName, ftBlob);
SELECT * 查询成功后,使用什么代码将该字段的内容保存回文件中?
【问题讨论】:
-
Params仅适用于查询,不适用于结果集。为此,您使用FieldByName和表中的字段(列)名称或您在查询中使用的别名,或您定义的持久字段(有关它们的更多信息,请参见 MartynA 的答案)。您可以找到一个使用 TBlobField here 的示例 - 只需将 ADOQuery 替换为您的 FDQuery。 -
谢谢@KenWhite,这两点都很好。
-
谢谢@KenWhite。从您关于 TBlobField 的链接中,我得到了以下代码: theBlobField := TBlobField(fSQLite3Query.FieldByName(kSQLFieldMultimediaFileContents)); theBlobField.SaveToFile(MultimediaFileName);
标签: sqlite delphi blob delphi-10.4-sydney