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

📄 unitstudentquery.~pas

📁 这个代码虽然还没有 全部写完
💻 ~PAS
字号:
unit UnitStudentQuery;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  DB, ADODB, Grids, DBGrids, StdCtrls, QDialogs, DBTables, Mask,
  DBCtrls, ExtCtrls, QuickRpt, QRCtrls;

type
  TFormStudentQuery = class(TForm)
    ButtonDelete: TButton;
    ButtonUpdate: TButton;
    ButtonLock: TButton;
    ButtonUnlock: TButton;
    ButtonClose: TButton;

    ButtonFirst: TButton;
    ButtonLast: TButton;
    ButtonNext: TButton;
    ButtonPrev: TButton;

    DBGrid1: TDBGrid;
    DataSource1: TDataSource;
    Table1: TTable;
    Table1ID: TSmallintField;
    Table1Name: TStringField;
    Table1Sex: TStringField;
    Table1Birthday: TDateTimeField;
    Table1Address: TStringField;
    Table1Telephone: TStringField;
    Table1ClassID: TIntegerField;
    Table1Comment: TStringField;
    Database1: TDatabase;
    Edit1: TEdit;
    ButtonQuery1: TButton;
    ComboBox1: TComboBox;
    Edit2: TEdit;
    ButtonQuery2: TButton;
    ComboBox2: TComboBox;
    ButtonPreview: TButton;
    ButtonPrint: TButton;

    procedure FormResize(Sender: TObject);
    procedure FormShow(Sender: TObject);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure ButtonFirstClick(Sender: TObject);
    procedure ButtonNextClick(Sender: TObject);
    procedure ButtonPrevClick(Sender: TObject);
    procedure ButtonLastClick(Sender: TObject);
    procedure ButtonDeleteClick(Sender: TObject);
    procedure ButtonUpdateClick(Sender: TObject);
    procedure ButtonLockClick(Sender: TObject);
    procedure ButtonUnlockClick(Sender: TObject);
    procedure ButtonCloseClick(Sender: TObject);
    procedure EditIDKeyPress(Sender: TObject; var Key: Char);
    procedure EditClassIDKeyPress(Sender: TObject; var Key: Char);
    procedure ButtonQuery1Click(Sender: TObject);
    procedure ButtonQuery2Click(Sender: TObject);
    procedure ButtonPreviewClick(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  FormStudentQuery: TFormStudentQuery;

implementation

uses UnitStudentPrint;

{$R *.dfm}

//响应窗口显示事件
procedure TFormStudentQuery.FormShow(Sender: TObject);
begin
  //调用FormResize()函数
  FormResize(Sender);
  //打开Table1(可以通过设置Table的Active属性为true来实现)
  Table1.Open();
end;

//响应窗口大小改变事件
procedure TFormStudentQuery.FormResize(Sender: TObject);
begin
  //设置表单宽度和高度
  DBGrid1.Width    :=FormStudentQuery.ClientWidth-2*DBGrid1.Left-80;
  DBGrid1.Height   :=FormStudentQuery.ClientHeight-DBGrid1.Top-50;

  //设置底部按钮的位置
  ButtonFirst.Top  :=DBGrid1.Top+DBGrid1.Height+15;
  ButtonNext.Top   :=DBGrid1.Top+DBGrid1.Height+15;
  ButtonPrev.Top   :=DBGrid1.Top+DBGrid1.Height+15;
  ButtonLast.Top   :=DBGrid1.Top+DBGrid1.Height+15;

  //设置右边按钮的位置
  ButtonDelete.Left :=DBGrid1.Left+DBGrid1.Width+15;
  ButtonUpdate.Left :=DBGrid1.Left+DBGrid1.Width+15;
  ButtonLock.Left   :=DBGrid1.Left+DBGrid1.Width+15;
  ButtonUnlock.Left :=DBGrid1.Left+DBGrid1.Width+15;
  ButtonPreview.Left:=DBGrid1.Left+DBGrid1.Width+15;
  ButtonPrint.Left  :=DBGrid1.Left+DBGrid1.Width+15;
  ButtonClose.Left  :=DBGrid1.Left+DBGrid1.Width+15;
end;

//响应窗口关闭事件
procedure TFormStudentQuery.FormClose(Sender: TObject;
  var Action: TCloseAction);
var
Result: integer;
begin
  //显示确认提示框
  Result:= MessageBox(Handle,'你是否需要保存数据修改?','提示', MB_YESNO	or MB_ICONQUESTION or MB_DEFBUTTON1);
  //如果单击Yes
  if result = IDYES	then
    //更新表(必须保证Table1的CachedUpdates属性为True)
    Table1.ApplyUpdates();
  //关闭表1
  Table1.Close();
  //关闭子窗口
  Action:=caFree;
end;

//响应按钮'首记录'单击事件
procedure TFormStudentQuery.ButtonFirstClick(Sender: TObject);
begin
  //移动到首记录
  Table1.First();
end;

//响应按钮'下一记录'单击事件
procedure TFormStudentQuery.ButtonNextClick(Sender: TObject);
begin
  //移动到下一记录
  Table1.Next();
end;

//响应按钮'上一记录'单击事件
procedure TFormStudentQuery.ButtonPrevClick(Sender: TObject);
begin
  //移动到上一记录
  Table1.Prior();
end;

//响应按钮'尾记录'单击事件
procedure TFormStudentQuery.ButtonLastClick(Sender: TObject);
begin
  //移动到尾记录
  Table1.Last();
end;

//响应按钮'删除'单击事件
procedure TFormStudentQuery.ButtonDeleteClick(Sender: TObject);
var
Result: integer;
Name  : string;
begin
  //获取删除行的学号
  Name:=Table1.FieldValues['Name'];
  //显示确认提示框(添加'QDialogs'单元)
  Result:= MessageDlg('你是否需要删除['+Name+']?', mtConfirmation, [mbYes, mbNo], 0, mbYes);
  //如果单击OK
  if result = 3 then
    //删除记录
    Table1.Delete();
end;

//响应按钮'保存'单击事件
procedure TFormStudentQuery.ButtonUpdateClick(Sender: TObject);
begin
  //更新表
  Table1.ApplyUpdates();
end;

//响应按钮'锁定'单击事件
procedure TFormStudentQuery.ButtonLockClick(Sender: TObject);
begin
  //设置为只读状态
  DBGrid1.ReadOnly:=true;
end;

//响应按钮'解锁'单击事件
procedure TFormStudentQuery.ButtonUnlockClick(Sender: TObject);
begin
  //设置为可编辑状态
  DBGrid1.ReadOnly:=false;
end;

//响应按钮'关闭'单击事件
procedure TFormStudentQuery.ButtonCloseClick(Sender: TObject);
begin
  //关闭窗口
  FormStudentQuery.Close();
end;

//响应'学号'编辑框按键事件
procedure TFormStudentQuery.EditIDKeyPress(Sender: TObject;
  var Key: Char);
begin
  if(Key>'9') or (Key<'0') and (Key<>#8)then
     Key:=#0;
end;

//响应'班级编号'编辑框按键事件
procedure TFormStudentQuery.EditClassIDKeyPress(Sender: TObject;
  var Key: Char);
begin
  if(Key>'9') or (Key<'0') and (Key<>#8)then
     Key:=#0;
end;

//响应'万能查询'按钮
procedure TFormStudentQuery.ButtonQuery1Click(Sender: TObject);
begin
  //设置过滤条件
  Table1.Filter:=Edit1.Text;
  //数据表过滤
  Table1.Filtered:=true;
end;

//响应'一般查询'按钮
procedure TFormStudentQuery.ButtonQuery2Click(Sender: TObject);
begin
  //设置过滤条件
  if(Combobox1.Text='学号')then
     Table1.Filter:='ID'+ComboBox2.Text+Edit2.Text
  else if(Combobox1.Text='姓名')then
     Table1.Filter:='Name'+ComboBox2.Text+''''+Edit2.Text+''''
  else if(Combobox1.Text='性别')then
     Table1.Filter:='Sex'+ComboBox2.Text+''''+Edit2.Text+''''
  else if(Combobox1.Text='出生日期')then
     Table1.Filter:='Birthday'+ComboBox2.Text+''''+Edit2.Text+''''
  else if(Combobox1.Text='家庭住址')then
     Table1.Filter:='Address'+ComboBox2.Text+''''+Edit2.Text+''''
  else if(Combobox1.Text='联系电话')then
     Table1.Filter:='telephone'+ComboBox2.Text+''''+Edit2.Text+'''';
  //数据表过滤
  Table1.Filtered:=true;
end;

procedure TFormStudentQuery.ButtonPreviewClick(Sender: TObject);
begin
  FormStudentPrint.Table1.Filter:=Table1.Filter;
  FormStudentPrint.Table1.Filtered:=true;
  FormStudentPrint.QuickRep1.Preview();
end;

end.

⌨️ 快捷键说明

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