Delphi xe5(FireMonkey) - 对SQLite写得太慢了

时间:2014-05-15 12:46:31

标签: sqlite delphi firemonkey

我正在制作一个应该将值写入SQLite数据库的跨平台应用程序。现在它写得很慢,一段时间后冻结。 我每隔10毫秒调用一次这段代码:

SQLQueryInsert.SQL.Text := 'insert into task (id, latitude) values (:id, :lat)';
SQLQueryInsert.Prepared := true;
SQLQueryInsert.ParamByName('id').AsInteger := 1;
SQLQueryInsert.ParamByName('latitude').AsFloat := 12332145;
SQLQueryInsert.ExecSQL();

有什么建议吗?

1 个答案:

答案 0 :(得分:1)

在开始之前,执行此操作(在适当的位置创建变量ParamId和ParamLat)

SQLQueryInsert.SQL.Text := 'insert into task (id, latitude) values (:id, :lat)';
SQLQueryInsert.Prepared := true;
ParamId  := SQLQueryInsert.ParamByName('id');
ParamLat := SQLQueryInsert.ParamByName('latitude');

在每次执行的代码中:

ParamId.AsInteger := 1;
ParamLat.AsFloat  := 12332145;
SQLQueryInsert.ExecSQL();