📄 u_form1.pas
字号:
unit U_Form1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ComCtrls, ExtCtrls, DBCtrls, ToolWin, DB, ADODB, Menus, Grids,
DBGrids, Buttons, StdCtrls;
type
TForm1 = class(TForm)
DBGrid1: TDBGrid;
ADOConnection1: TADOConnection;
DataSource1: TDataSource;
ADOQuery1: TADOQuery;
ToolBar1: TToolBar;
DBNavigator1: TDBNavigator;
Memo1: TMemo;
ComboBox1: TComboBox;
ExecuteSQLSB: TSpeedButton;
CheckBox1: TCheckBox;
CreateSB: TSpeedButton;
StatusBar1: TStatusBar;
DelSB: TSpeedButton;
CheckSB: TSpeedButton;
procedure FormCreate(Sender: TObject);
procedure ExecuteSQLSBClick(Sender: TObject);
procedure CreateSBClick(Sender: TObject);
procedure DelSBClick(Sender: TObject);
procedure CheckSBClick(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.FormCreate(Sender: TObject);
begin
with DBGrid1 do
begin
Columns[2].PickList.Add('火车');
Columns[2].PickList.Add('汽车');
Columns[2].PickList.Add('轮船');
Columns[2].PickList.Add('飞机');
Columns[7].PickList.Add('正在办理');
Columns[7].PickList.Add('结束');
Columns[7].PickList.Add('已经定上');
Columns[7].PickList.Add('没定上');
end;
ADOConnection1.GetFieldNames('tbBookTicket',ComboBox1.Items);
end;
procedure TForm1.ExecuteSQLSBClick(Sender: TObject);
begin
ADOQuery1.Close;
ADOQuery1.SQL.Text:=Memo1.Text;
if CheckBox1.Checked then
ADOQuery1.Open
else
ADOQuery1.ExecSQL;
end;
procedure TForm1.CreateSBClick(Sender: TObject);
begin
Memo1.Text:='Create Trigger Tr_tbBookTicket on tbBookTicket '
+' for insert,update as '
+' declare @MyTDate smalldatetime,@MyBDate smalldatetime '
+' select @MyTDate=TDate,@MyBDate=BDate from inserted '
+' if @MyTDate<getdate() or @MyTDate<@MyBDate '
+' begin Rollback '
+' Raiserror(''订票时间必须在车票时间之前!'',16,1) end ';
if CheckBox1.Checked then CheckBox1.Checked:=false ;
ExecuteSQLSBClick(self);
StatusBar1.SimpleText:='创建了触发器!';
CreateSB.Enabled:=false;
DelSB.Enabled:=true;
end;
procedure TForm1.DelSBClick(Sender: TObject);
begin
Memo1.Text:='if exists(select Name from sysobjects '
+' where name =''TR_tbBookTicket'' and type=''TR'')'
+' Drop Trigger Tr_tbBookTicket';
if CheckBox1.Checked then CheckBox1.Checked:=false ;
ExecuteSQLSBClick(self);
StatusBar1.SimpleText:='删除了触发器!';
CreateSB.Enabled:=true;
DelSB.Enabled:=false;
end;
procedure TForm1.CheckSBClick(Sender: TObject);
begin
Memo1.Text:='if exists(select Name from sysobjects '
+' where name =''TR_tbBookTicket'' and type=''TR'') '
+'select DISTINCT 1 else select DISTINCT 0 ';
ExecuteSQLSBClick(self);
ADOQuery1.Open;
if ADOQuery1.Fields[0].AsInteger=1 then
begin
DelSB.Enabled:=true;
StatusBar1.SimpleText:='触发器已经存在!'
end
else begin
CreateSB.Enabled:=true;
StatusBar1.SimpleText:='触发器不存在!';
end;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -