📄 sqlcontrol.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 + -