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

📄 u_form1.pas

📁 很好地delphi书籍源码
💻 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 + -