⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 shareunit.pas

📁 no infomation. say it again. no infomation
💻 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 + -