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

📄 user.pas

📁 一个用Delphi编写的简单售票系统,有查询,修改.增加.删除等功能.
💻 PAS
字号:
unit user;

interface

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

type
  Tuserform = class(TForm)
    ADOConnection1: TADOConnection;
    ADOTable1: TADOTable;
    DataSource1: TDataSource;
    DBGrid1: TDBGrid;
    BitBtn1: TBitBtn;
    BitBtn2: TBitBtn;
    GroupBox1: TGroupBox;
    Label1: TLabel;
    Label2: TLabel;
    Label3: TLabel;
    Label4: TLabel;
    Label5: TLabel;
    Label6: TLabel;
    Edit1: TEdit;
    Edit2: TEdit;
    Edit3: TEdit;
    Edit4: TEdit;
    Edit6: TEdit;
    BitBtn3: TBitBtn;
    BitBtn4: TBitBtn;
    Edit7: TEdit;
    Label7: TLabel;
    Label8: TLabel;
    Edit8: TEdit;
    ComboBox1: TComboBox;
    procedure FormActivate(Sender: TObject);
    procedure BitBtn4Click(Sender: TObject);
    procedure BitBtn1Click(Sender: TObject);
    procedure Edit1Exit(Sender: TObject);
    procedure BitBtn3Click(Sender: TObject);
    procedure ADOTable1AfterScroll(DataSet: TDataSet);
    procedure BitBtn2Click(Sender: TObject);
    procedure DBGrid1TitleClick(Column: TColumn);
    procedure FormCreate(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
    procedure initiate;
    procedure savetotable;
    procedure loadfromtable;
  end;

var
  userform: Tuserform;
  new_record:boolean;
implementation
{$R *.dfm}
procedure Tuserform.FormActivate(Sender: TObject);
begin
    dbgrid1.DataSource:=datasource1;
    datasource1.DataSet:=adotable1;
    adotable1.Connection:=adoconnection1;
    adotable1.tablename:='xinxi';
    adotable1.active:=true;
    initiate;
    new_record:=false;
    if adotable1.Eof then
        bitbtn1.Enabled:=true
    else
        loadfromtable;
end;
procedure TuserForm.initiate;
begin
    edit1.Text:='';
    edit2.Text:='';
    edit3.Text:='';
    edit4.Text:='';
    ComboBox1.text:='男';
    edit7.Text:=formatdatetime('yyyy''-''m''-''d',now);
    edit6.Enabled:=false;
    edit8.Text:='';
    edit3.Text:='身份证号:';
    edit1.SetFocus;
end;
procedure TuserForm.SaveToTable;
begin

    adotable1.edit;
    adotable1.FieldByName('name').asstring:=edit1.text;
    adotable1.FieldByName('address').AsString:=edit2.text;
    adotable1.FieldByName('tel1').asstring:=edit4.text;
    adotable1.fieldbyname('tel2').asstring:=edit6.text;
    adotable1.FieldByName('sex').asstring:=ComboBox1.text;
    adotable1.FieldByName('other').asstring:=edit8.text;
    adotable1.FieldByName('shnegfengzhen').asstring:=edit3.text;
    adotable1.Post;
end;
procedure TuserForm.LoadFromTable;
begin
    edit1.text:=adotable1.FieldByName('name').asstring;
    edit2.text:=adotable1.FieldByName('address').AsString;
    edit3.text:=adotable1.FieldByName('shnegfengzhen').asstring;
    edit4.text:=adotable1.FieldByName('tel1').asstring;
    edit6.Text:=adotable1.fieldbyname('tel2').asstring;
    edit7.text:=adotable1.FieldByName('date').asstring;
    ComboBox1.text:=adotable1.FieldByName('sex').asstring;
    edit8.text:=adotable1.FieldByName('other').asstring;
    ;
 end
procedure Tuserform.BitBtn4Click(Sender: TObject);
begin
close;
end;

procedure Tuserform.BitBtn1Click(Sender: TObject);
begin
initiate;
new_record:=true;
//bitbtn3.Enabled:=true;
end;

procedure Tuserform.Edit1Exit(Sender: TObject);
 var
    adodataset1:TAdoDataset;
begin
    if edit1.text<>'' then
    begin
        adodataset1:=TAdoDataset.Create(self);
        adodataset1.Connection:=adoconnection1;
        adodataset1.Close;
        adodataset1.CommandType:=cmdText;
        adodataset1.CommandText:='select * from xinxi where name=:name';
        adodataset1.Parameters.clear;
        adodataset1.Parameters.AddParameter;
        adodataset1.Parameters[0].Name:='name';
        adodataset1.Parameters[0].DataType:=ftstring;
        adodataset1.Parameters[0].Direction:=pdinput;
        adodataset1.Parameters[0].Value:=edit1.text;
        adodataset1.active:=true;
        if new_record then
        begin
            if adodataset1.Recordset.RecordCount=1 then
            begin
                application.MessageBox('用户名已经存在,请检查!','提示信息',mb_ok);
                edit1.SetFocus;
            end
        end;
        adodataset1.close;
    end;
end;

procedure Tuserform.BitBtn3Click(Sender: TObject);
begin
     if edit1.text=''then
           begin
    application.MessageBox('用户名为空,请重新输入!','提示信息',mb_ok);
                edit1.SetFocus;
           end
           else
                if edit3.text=''then
                begin
    application.MessageBox('证件号码为空,请重新输入!','提示信息',mb_ok);
                edit3.SetFocus;
                end
                else

   if new_record  then
    begin
      if edit1.text<>'' then
      begin
      adotable1.Append;
      new_record:=false;
      savetotable;
      end
      else
       edit1.SetFocus;

    end;
 end;

procedure Tuserform.ADOTable1AfterScroll(DataSet: TDataSet);
begin
  if not new_record then
  loadfromtable;
end;

procedure Tuserform.BitBtn2Click(Sender: TObject);
begin
if adotable1.eof then
    begin
     application.MessageBox('当前无记录!','提示信息',mb_ok);
    end
    else
    ADOTable1.Delete;
    ADOTable1.First;
end;

procedure Tuserform.DBGrid1TitleClick(Column: TColumn);
begin
if (ADOTable1.Sort<>column.FieldName+' ASC') then
         ADOTable1.Sort:=column.FieldName+' ASC'
else
         ADOTable1.sort:=column.fieldname+' DESC';

end;

procedure Tuserform.FormCreate(Sender: TObject);
var
dbbname:string;
begin
dbbname:= ExtractFilePath(Application.ExeName) + 'tang.mdb';
with ADOConnection1 do
begin
ConnectionString:='Microsoft OLE DB Provider for Oracle;'+
'Data Source='+dbbname+';'+
'Mode=ReadWrite;'+
'Persist Security Info=False';
Connected:=True;//打开数据连接
end;
end;

end.

⌨️ 快捷键说明

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