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

📄 main.pas

📁 Delphi7数据库开发教程,包含该书21套实例
💻 PAS
字号:
unit main;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, Grids, DBGrids, DBTables, DB;

type
  TForm1 = class(TForm)
    Table1: TTable;
    DataSource1: TDataSource;
    Query1: TQuery;
    DBGrid1: TDBGrid;
    btnUpdate: TButton;
    edtNo: TEdit;
    Label1: TLabel;
    Label2: TLabel;
    edtLastname: TEdit;
    btnInsert: TButton;
    btnDelete: TButton;
    btnFilter: TButton;
    procedure btnUpdateClick(Sender: TObject);
    procedure btnInsertClick(Sender: TObject);
    procedure btnDeleteClick(Sender: TObject);
    procedure btnFilterClick(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.btnUpdateClick(Sender: TObject);
var s:String;
begin
  //更新指定员工编号的LastName
  with Query1 do
  begin
    if Active then
       Close;   //关闭数据集
    SQL.Clear ;
    s := 'update employee set LastName = ''' + edtLastname.Text + '''' +
              ' where EmpNo = ''' + edtNo.Text + '''';
    SQL.Add(s);
    Prepare;
    ExecSQL;    //执行update语句
  end;

  //更新显示
  With Table1 do
  begin
    Active := False;
    Open;
    Locate('EmpNo', edtNo.Text, []);
  end;
end;

procedure TForm1.btnInsertClick(Sender: TObject);
var sqlstr:String;
begin
  {插入一行数据,其中:
     EmpNo:67;
     LastName:MyLastName;
     FirstName:MyFirstName;
     PhoneExt:67
     Salary:6677
  }
  sqlstr :='insert into employee (EmpNo, LastName, FirstName , PhoneExt, ' +
            'Salary) values(67,''MyLastName'', ''MyFirstName'', ' +
            '''67'', 6677)';

  //设置SQL语句
  with Query1 do
  begin
    Close;
    Sql.Clear;
    Sql.Add(sqlstr);
    ExecSQL;      //不返回数据集因此使用ExecSQL执行SQL语句
  end;

  //显示数据
  with Table1 do
  begin
    CLose;
    Open;
    Locate('EmpNo', 67, []);
  end;
end;

procedure TForm1.btnDeleteClick(Sender: TObject);
var sqlstr:String;
begin
  //删除EmpNo = 67的行
  sqlstr :='delete from employee where empno = 67';

  //设置SQL语句
  with Query1 do
  begin
    Close;
    Sql.Clear;
    Sql.Add(sqlstr);
    ExecSQL;      //不返回数据集因此使用ExecSQL执行SQL语句
  end;

  //显示数据
  with Table1 do
  begin
    CLose;
    Open;
  end;
end;

procedure TForm1.btnFilterClick(Sender: TObject);
begin
  with Table1 do
  begin
    if Filtered then
       Filtered := False
    else
    begin
      Filter := 'EmpNo = ' + edtNo.Text ;
      Filtered := True;
    end;
  end;
end;

end.

⌨️ 快捷键说明

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