📄 sqlanalyzeserviceunit.pas
字号:
unit SQLAnalyzeServiceUnit;
interface
uses
Classes, Variants, SysUtils, DBClient, Dialogs, Contnrs, ServiceObjectUnit;
type
TSQLAnalyzeService= class(TServiceObject)
private
function getSQLStatement(const pServiceCode: String): String;
function FormatEx(const sStr: String; vParams: OleVariant): String;
public
function getSQLCode(const pSql: String; vParams: OleVariant): String; overload;
function getSQLCode(const pSql: String): String; overload;
end;
implementation
function TSQLAnalyzeService.FormatEx(const sStr: String; vParams: OleVariant): String;
var
i_i: Integer;
pSS: PShortString;
ary_s: array[1..100] of variant;
ary_rec: array[1..100] of TVarRec;
tmpVar: variant;
begin
if not VarIsArray(vParams) then
Result := '';
for i_i := VarArrayLowBound(vParams, 1) to VarArrayHighBound(vParams, 1) do
begin
case Vartype(vParams[i_i]) of
varDate:
vParams[i_i] := Quotedstr(Datetimetostr(VartoDatetime(vParams[i_i])));
varboolean:
if vParams[i_i] then
vParams[i_i] := '1'
else
vParams[i_i] := '0';
end;
ary_s[i_i] := vParams[i_i];
new(pSS);
pSS^ := ary_s[i_i];
ary_rec[i_i+1].VString := pSS;
ary_rec[i_i+1].VType := vtString;
end;
Result := Format(sStr, ary_rec);
end;
function TSQLAnalyzeService.getSQLStatement(const pServiceCode: String): String;
begin
//扩展功能:
Result := pServiceCode;
end;
function TSQLAnalyzeService.getSQLCode(const pSql: String): String;
begin
Result := getSQLStatement(pSql);
end;
function TSQLAnalyzeService.getSQLCode(const pSql: String; vParams: OleVariant): String;
begin
if not VarIsArray(vParams) then
Result := ''
else
Result := FormatEx(getSQLStatement(pSql), vParams);
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -