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

📄 unit8.~pas

📁 sql server 2000 数据库与应用
💻 ~PAS
字号:
unit Unit8;

interface

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

type
  TForm8 = class(TForm)
    Label1: TLabel;
    Label2: TLabel;
    Button1: TButton;
    Edit1: TEdit;
    Button2: TButton;
    Button3: TButton;
    ADOQuery1: TADOQuery;
    DBGrid1: TDBGrid;
    ADOConnection1: TADOConnection;
    DataSource1: TDataSource;
    ADOQuery2: TADOQuery;
    Edit2: TEdit;
    Label3: TLabel;
    procedure Button1Click(Sender: TObject);
    procedure FormActivate(Sender: TObject);
    procedure DBGrid1CellClick(Column: TColumn);
    procedure DBGrid1KeyUp(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    procedure Button3Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form8: TForm8;

implementation

{$R *.dfm}

procedure TForm8.Button1Click(Sender: TObject);
begin
  form8.Close ;
end;

procedure TForm8.FormActivate(Sender: TObject);
begin
  dbgrid1.DataSource.AutoEdit:=false;
  adoquery1.Close;
  adoquery1.SQL.Clear;
  adoquery1.SQL.Add('select * from 系部表');
  adoquery1.Open;
  edit1.ReadOnly:=True;
  edit1.Text:='';
  edit2.Text:='';

end;

procedure TForm8.DBGrid1CellClick(Column: TColumn);
begin
  if not ADOQuery1.fieldbyname('系部编号').IsNull then
    edit1.Text:=trim(ADOQuery1.fieldbyname('系部编号').Value)
  else
    edit1.Text:='';
  if not ADOQuery1.fieldbyname('系部名称').IsNull then
    edit2.Text:=trim(ADOQuery1.fieldbyname('系部名称').Value)
  else
    edit2.Text:='';

end;

procedure TForm8.DBGrid1KeyUp(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
 if (key=VK_UP) or (key=VK_DOWN) then
   begin
     if not ADOQuery1.fieldbyname('系部编号').IsNull then
       edit1.Text:=trim(ADOQuery1.fieldbyname('系部编号').Value)
     else
       edit1.Text:='';
     if not ADOQuery1.fieldbyname('系部名称').IsNull then
       edit2.Text:=trim(ADOQuery1.fieldbyname('系部名称').Value)
     else
       edit2.Text:='';
   end;

end;

procedure TForm8.Button3Click(Sender: TObject);
var
  xbbh,xbmc,s1: string;
begin
  if (trim(edit1.Text)='') or (trim(edit2.Text)='') then
    application.MessageBox('数据不完整!','提示',mb_ok)
  else
  begin
    xbbh:=trim(ADOQuery1.fieldbyname('系部编号').Value);
    xbmc:=trim(ADOQuery1.fieldbyname('系部名称').Value);
    if (xbbh=trim(edit1.Text)) and (xbmc=trim(edit2.Text)) then
      application.MessageBox('数据未改变!','提示',mb_ok)
    else
    try
      adoquery2.close;
      adoquery2.sql.clear;
      s1:='update 系部表 set 系部名称='+quotedstr(trim(edit2.Text))
        +' where 系部编号='+quotedstr(trim(edit1.Text));
      Adoquery2.sql.add(s1);
      Adoquery2.ExecSQL;
      adoquery1.Requery();
      application.MessageBox('系部名称修改成功!','提示',mb_ok);
    except
      on E: Exception do
        messagedlg(E.Message,mterror,[mbok],0);
    end;
  end;
end;

procedure TForm8.Button2Click(Sender: TObject);
begin
  if (trim(edit1.Text)='') or (trim(edit2.Text)='') then
    application.MessageBox('未选择要删除的纪录!','提示',mb_ok)
  else if application.MessageBox('你确实要删除当前纪录吗?','警告!',mb_okcancel)=idok then
    begin
      adoquery2.close;
      adoquery2.sql.clear;
      Adoquery2.sql.add('delete from 系部表 where 系部编号='+quotedstr(trim(edit1.Text)));
      Adoquery2.ExecSQL;
      adoquery1.Requery();
      //或者使用下面的1条语句替代上面5条语句
      //adoquery1.Delete;
      application.MessageBox('系部纪录删除成功!','提示',mb_ok);
    end;
end;

end.

⌨️ 快捷键说明

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