📄 user.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 + -