当我想使用.ini文件中的查询时..-dephi

问题描述 投票:0回答:1

我是 Delphi 和软件编程的新手。

我想找到一些使用

.ini
文件中的查询的建议。

我的目的是,当我首先在 DBGrid 中选择一些文件名,然后单击显示我选择的文件名的按钮,如果它们正确,则单击“确定”以使用文件名执行查询。

在这种情况下,每次选择文件名都会改变。那么,如何在

.ini
文件中执行查询以获得动态结果?

首先,这是

Queries.ini
文件中的文本:

[Query]
QSELECTEDFN=SELECT * FROM TEST_01 WHERE FILE_NAME IN (:FILE_NAME);

这是我的代码:

ini := TIniFile.Create('C:\file dir\Queries.ini');
try
  qSlctdByFN := ini.ReadString('QUERY', 'QSELECTEDFN', '');
  ADOQuery1.SQL.Clear;
  ADOQuery1.SQL.Text := qSlctdByFN;
  ADOQuery1.Parameters.ParamByName('FILE_NAME').Value := slselectedFN.CommaText;
  ADOQuery1.Active := true;
finally
  ini.Free;
end;

当我选择

1.txt
2.txt
时,查询应该是:

SELECT * FROM TEST_01 WHERE FILE_NAME IN ('1.txt,2.txt');

当我仅选择

3.txt
时,查询应该是:

SELECT * FROM TEST_01 WHERE FILE_NAME IN ('3.txt');
mysql delphi dynamic ini
1个回答
0
投票

处理此问题的一个简单方法是将文件名放入

TStringList
中,将其
Delimiter
设置为
'
,然后使用
StringReplace()
将 SQL 字符串中的
':FILE_NAME'
替换为
TStringList.DelimitedText
值.

© www.soinside.com 2019 - 2024. All rights reserved.