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

📄 sqlcontrol.pas

📁 delphi框架可以学习, 写的很好的
💻 PAS
字号:
unit SQLControl;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, Basic, ActnList, ImgList, RzPanel, RzButton, ExtCtrls, StdCtrls,
  RzEdit, RzTabs, Grids, DBGridEh, Menus, ppEndUsr, ppBands, ppCache,
  ppClass, ppProd, ppReport, ppDB, ppComm, ppRelatv, ppDBPipe;

type
  TfrmSQL = class(TfrmBasic)
    dbgridList: TDBGridEh;
    mmSQL: TRzMemo;
    RzPanel8: TRzPanel;
    actSQL_Select: TAction;
    actSQL_Insert: TAction;
    actSQL_Delete: TAction;
    procedure FormCreate(Sender: TObject);
  private
    { Private declarations }
    procedure doMyOpen(Sender: TObject; var _EventNote, _State: String); override;
  public
    { Public declarations }
  end;

var
  frmSQL: TfrmSQL;

implementation

uses MyPublic, dm32;

{$R *.dfm}

{ TfrmSQL }

procedure TfrmSQL.doMyOpen(Sender: TObject; var _EventNote, _State: String);
var ls_Style, ls_SQL, ls_Err: String;
begin
  ls_SQL := mmSQL.Lines.Text;
  if ls_SQL = '' then Exit;

  _EventNote:= '执行SQL语句:'+ ls_SQL;
  _State := EV_OK;
  ls_Style  := UpperCase(Copy(ls_SQL, 1, 4));

  //取数据
  if ls_Style = 'SELE' then ls_Err := OpenDataSet(dm.qrySQL, ls_SQL);
  //写入数据
  if ls_Style = 'INSE' then
  if ShowMess('提示','确定要按语句添加数据吗?',MB_OKCANCEL) then ls_Err := doSQL(ls_SQL)
                                                             else _State := EV_CANCEL;
  //修改数据
  if ls_Style = 'UPDA' then
  if ShowMess('提示','确定要按语句修改数据吗?',MB_OKCANCEL) then ls_Err := doSQL(ls_SQL)
                                                             else _State := EV_CANCEL;
  //删除数据
  if ls_Style = 'DELE' then
  if ShowMess('提示','确定要按语句删除数据吗?这将是非常危险的操作!',MB_OKCANCEL) then ls_Err := doSQL(ls_SQL)
                                                                                   else _State := EV_CANCEL;

  if ls_Err <> '' then
  begin
    ShowMess('错误', '按指定SQL打开数据失败,具体为:'+ls_Err, MB_OK);
    _State := EV_FAIL;
  end;
end;

procedure TfrmSQL.FormCreate(Sender: TObject);
begin
  inherited;
  UseDataSet := dm.qrySQL;
end;

end.

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -