📄 register.pas
字号:
unit register;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ComCtrls, DB, DBTables, ADODB,login, Grids, DBGrids;
type
TForm2 = class(TForm)
PageControl1: TPageControl;
TabSheet1: TTabSheet;
TabSheet2: TTabSheet;
TabSheet3: TTabSheet;
Edit1: TEdit;
Edit2: TEdit;
Edit3: TEdit;
Edit4: TEdit;
Edit5: TEdit;
Edit6: TEdit;
Edit7: TEdit;
Edit8: TEdit;
Edit9: TEdit;
Edit10: TEdit;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
Label5: TLabel;
Label6: TLabel;
Label7: TLabel;
Label8: TLabel;
Label9: TLabel;
Label10: TLabel;
Label11: TLabel;
Label12: TLabel;
Label13: TLabel;
Label14: TLabel;
Label15: TLabel;
ComboBox2: TComboBox;
ComboBox1: TComboBox;
ComboBox4: TComboBox;
ComboBox3: TComboBox;
Button1: TButton;
Button2: TButton;
Button3: TButton;
Button4: TButton;
ADOQuery1: TADOQuery;
DBGrid1: TDBGrid;
DataSource1: TDataSource;
Button5: TButton;
Label16: TLabel;
procedure Button2Click(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
procedure Button5Click(Sender: TObject);
procedure Button4Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form2: TForm2;
implementation
{$R *.dfm}
procedure TForm2.Button1Click(Sender: TObject);
var
sql:string;
begin
if (combobox1.Text='')or(edit1.Text='')or(combobox1.text='')or(edit2.Text='')or(edit3.Text='')or(edit4.Text='')or(edit5.Text='')then
begin
MessageDlg('请输入所有基本资料!',mtWarning,[mbOk],0);
exit;
end;
ADOQuery1:= TADOQuery.Create(nil);
ADOQuery1.Connection:=form1.ADOConnection1;
sql:='Insert into patient(IDType,patientID,name,gender,age,patientNO,company)';
sql:=sql+'values(:IDType,:patientID,:name,:gender,:age,:patientNo,:company)';
ADOQuery1.SQL.add(sql);
showmessage('证件种类:'+combobox1.text+' 证件编号:'+edit1.text+' 姓名:'+edit2.Text+' 性别:'+combobox1.Text+' 年龄:'+edit3.Text+' 工号:'+edit4.Text+' 单位:'+edit5.Text);
with ADOQuery1.Parameters do
begin
ParamByName('IDType').Value :=combobox1.ItemIndex;
ParamByName('patientID').Value := Trim(edit1.Text);
ParamByName('Name').Value := Trim(Edit2.Text);
ParamByName('gender').Value := combobox2.ItemIndex;
ParamByName('age').Value := Trim(edit3.Text);
ParamByName('patientNo').Value := Trim(edit4.Text);
ParamByName('company').Value := trim(Edit5.Text);
end;
try
ADOQuery1.ExecSQL;
except
ADOQUERY1.Close;
form1.ADOConnection1.close;
MessageDlg('数据库连接失败!请检查数据库连接!',mtWarning,[mbOk],0);
abort;
end;
ADOQUERY1.Close;
form1.ADOConnection1.close;
ShowMessage('数据存入数据库成功。');
edit1.Clear;
edit2.Clear;
combobox1.ItemIndex:=-1;
combobox2.ItemIndex:=-1;
edit3.Clear;
edit4.Clear;
edit5.Clear;
edit6.Clear;
combobox1.SetFocus;
end;
procedure TForm2.Button2Click(Sender: TObject);
begin
form1.ADOConnection1.close;
adoquery1.close;
datasource1.free;
hide;
Form1.Show;
end;
procedure TForm2.Button3Click(Sender: TObject);
var
sql:string;
begin
if edit6.Text=''then
begin
MessageDlg('请输入要查找的证件编号!',mtWarning,[mbOk],0);
form1.ADOConnection1.Close;
abort;
end;
ADOQuery1:= TADOQuery.Create(nil);
ADOQuery1.Connection:=form1.ADOConnection1;
sql:=trim(edit6.text);
sql:='select * from patient where patientID='+''''+sql+'''';
ADOQuery1.SQL.add(sql);
try
ADOQuery1.Open;
except
ADOQUERY1.Close;
form1.ADOConnection1.Close;
messageDlg('该证件编号不存在!请确认输入正确!',mtWarning,[mbOk],0);
edit6.SelectAll;
combobox4.ItemIndex:=-1;
edit7.Clear;
combobox3.ItemIndex:=-1;
edit8.Clear;
edit9.Clear;
edit10.Clear;
end;
with ADOQuery1.Fields do
begin
combobox3.ItemIndex:=strtoint(ADOQuery1.fieldByName('IDType').Value);
Edit7.Text:=ADOQuery1.fieldByName('name').Value;
combobox4.ItemIndex:=strtoint(ADOQuery1.fieldByName('gender').Value);
edit8.Text:=ADOQuery1.fieldByName('age').Value;
edit9.Text:=ADOQuery1.fieldByName('patientNo').Value;
Edit10.Text:=ADOQuery1.fieldByName('company').Value;
end;
ADOQUERY1.close;
form1.ADOConnection1.Close;
edit6.SetFocus;
end;
procedure TForm2.Button4Click(Sender: TObject);
var
sql:string;
begin
if (combobox3.Text='')or(edit6.Text='')or(combobox4.text='')or(edit7.Text='')or(edit8.Text='')or(edit9.Text='')or(edit10.Text='')then
begin
MessageDlg('请输入所有基本资料!',mtWarning,[mbOk],0);
exit;
end;
showmessage('证件种类:'+combobox3.text+' 证件编号:'+edit6.text+' 姓名:'+edit7.Text+' 性别:'+combobox4.Text+' 年龄:'+edit8.Text+' 工号:'+edit9.Text+' 单位:'+edit10.Text);
ADOQuery1:= TADOQuery.Create(nil);
ADOQuery1.Connection:=form1.ADOConnection1;
sql:='Update patient ';
sql:=sql+'set name=:name,gender=:gender,age=:age,patientNo=:patientNo,company=:company where patientID=:patientID';
ADOQuery1.SQL.Add(sql);
with ADOQuery1.Parameters do
begin
ParamByName('name').Value := Trim(Edit7.Text);
ParamByName('gender').Value :=inttostr(combobox4.ItemIndex);
ParamByName('age').Value := Trim(edit8.Text);
ParamByName('patientNo').Value := Trim(edit9.Text);
ParamByName('company').Value := trim(Edit10.Text);
ParamByName('patientID').Value := trim(edit6.Text);
end;
try
ADOQuery1.ExecSQL;
except
ADOQUERY1.close;
form1.ADOConnection1.close;
MessageDlg('证件类型和证件号码不可修改!更新失败原因:证件号码不存在或不能连接数据库!',mtWarning,[mbOk],0);
abort;
end;
ADOQUERY1.Close;
form1.ADOConnection1.close;
ShowMessage('数据库更新成功。');
edit7.Clear;
combobox3.ItemIndex:=-1;
combobox4.ItemIndex:=-1;
edit8.Clear;
edit9.Clear;
edit10.Clear;
edit6.SelectAll;
end;
procedure TForm2.Button5Click(Sender: TObject);
begin
datasource1.Enabled:=true;
with adoquery1 do
begin
sql.Clear;
sql.add('select * from patient');
open;
datasource1.DataSet:=adoquery1;
dbgrid1.DataSource:= datasource1;
end;
dbgrid1.SetFocus;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -