我如何使用delphi从SQL查询中解析和提取参数?
例如:
从这个查询
SELECT * FROM MyTable
WHERE Field1=:Param1
AND Field2=:Param2
AND (Field3=:Param3 OR Field4=:Param4)
Run Code Online (Sandbox Code Playgroud)
我想获得
Param1 Param2 Param3 Param4
提前致谢.
RRU*_*RUZ 10
@Salvador,你可以使用TParams.ParseSQL函数来获取参数.
看到这个简单的代码
program Project241;
{$APPTYPE CONSOLE}
uses
db, //for use TParams
Classes,//
SysUtils;
procedure GetParamsFromSQL(SQL:string;Const ListParams:TStrings);
var
ParamList: TParams;
i: integer;
begin
ListParams.Clear;//Clear the list
ParamList := TParams.Create(nil);
try
ParamList.ParseSQL(SQL, True); //Force to create the params from the SQL
for i := 0 to ParamList.Count - 1 do
ListParams.Add(ParamList[i].Name);
finally
ParamList.Free;
end;
end;
var
ParamList : TStrings;
begin
ParamList:=TStringList.Create;
try
GetParamsFromSQL('SELECT * FROM MyTable WHERE Field1=:Param1 AND Field2=:Param2 AND (Field3=:Param3 OR Field4=:Param4)',ParamList);
Writeln(ParamList.text);
Readln;
finally
ParamList.Free;
end;
end.
Run Code Online (Sandbox Code Playgroud)
回报:
Param1
Param2
Param3
Param4
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4119 次 |
| 最近记录: |