📄 shareunit.pas
字号:
unit shareunit;
interface
uses Windows, Messages, SysUtils, Dialogs, Classes, Forms, Menus, Controls, StdCtrls,
ExtCtrls, Graphics, DBTables, cxGridTableView,DB;
//函数
function PromptMsg(const prompt: string; mbType: integer=1): Integer;
function ExistData(sSQL: string; ParaVal: array of variant): Boolean;
function GetData(var ReVal: array of Variant; sSQL: string; ParaVal: array of variant): Boolean; overload;
{过程声明}
//清除View中的数据;
procedure ClearView(xView: TcxGridTableView; DefRecCount: integer; ShowSNO: Boolean=False);
//执行SQL命令
procedure ExecMySQL(sqltxt: string; ParamsValue: array of variant);
implementation
//函数 ================================
function PromptMsg(const prompt: string; mbType: integer=1): Integer;
var
Cap:string;
flag: longint;
begin
flag:=MB_OK+MB_IconInfoRMATION;
case mbType of
0:
begin
Cap:='Prompt';
flag:=MB_OK+MB_IconInfoRMATION;
end;
1:
begin
Cap:='Warning';
flag:=MB_OK+MB_IconWArNING;
end;
2:
begin
Cap:='Wrong';
flag:=MB_OK+MB_IconError;
end;
3:
begin
Cap:='Confirmation';
flag:=MB_YESNO+MB_IconQUESTION;
end;
4:begin
Cap:='Confirmation';
flag:=MB_YESNOCANCEL+MB_IconQUESTION;
end;
end;
Result:=Application.messagebox(pchAr(prompt),pchAr(Cap),flag);
end;
function ExistData(sSQL: string; ParaVal: array of variant): Boolean;
var
i: integer;
begin
with TQuery.Create(nil) do
try
DataBaseName:=ExtractFilePath(Application.ExeName);
sql.Add(sSQL);
for i:=Low(ParaVal) to High(ParaVal) do
Params[i].Value:=ParaVal[i];
prepared:=true;
open;
if IsEmpty then result:=false else result:=true;
finally
Free;
end;
end;
function GetData(var ReVal: array of Variant; sSQL: string; ParaVal: array of variant): Boolean;
var
i, j: integer;
begin
result:=false;
with TQuery.Create(nil) do
try
DataBaseName:=ExtractFilePath(Application.ExeName);
sql.Add(sSQL);
for i:=Low(ParaVal) to High(ParaVal) do
Params[i].value:=ParaVal[i];
open;
if not IsEmpty then
begin
j:=0;
for i:=Low(ReVal) to High(ReVal) do
begin
if Fields[j].IsNull then
begin
if Fields[j].DataType in [ftSmallint,ftInteger,ftWord,ftLargeInt,ftFloat,ftCurrency,ftBcd,ftFMTBcd] then
ReVal[i]:=0
else
ReVal[i]:=''
end
else
ReVal[i]:= Fields[j].AsVariant;
j:= j+1;
end;
result:= true;
end;
finally
free;
end;
end;
//过程 ================================
procedure ClearView(xView: TcxGridTableView; DefRecCount: integer; ShowSNO: Boolean=False);
var
i: integer;
OriMutiSel: Boolean;
begin
with xView, xView.DataController do
begin
OriMutiSel:=OptionsSelection.MultiSelect;
OptionsSelection.MultiSelect:=true;
if RowCount>0 then
begin
SelectRows(0, RowCount-1);
DeleteSelection;
end;
OptionsSelection.MultiSelect:=OriMutiSel;
SetRecordCount(DefRecCount);
if ShowSNO then
for i:=0 to RecordCount-1 do Values[i,0]:=i+1;
end;
end;
procedure ExecMySQL(sqltxt: String; ParamsValue: array of variant);
var
i: integer;
begin
with TQuery.Create(nil) do
try
DataBaseName:=ExtractFilePath(Application.ExeName);
sql.Clear;
sql.Add(sqltxt);
for i:=0 to High(ParamsValue) do
Params[i].Value:=ParamsValue[i];
prepared:=true;
execsql;
finally
free;
end;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -