operator.~pas
来自「完整的delphi书籍源代码,大家有空的时候自己慢慢看看」· ~PAS 代码 · 共 172 行
~PAS
172 行
unit Operator;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Grids, DBGrids;
type
TOperatorFrm = class(TForm)
DBGrid1: TDBGrid;
GroupBox1: TGroupBox;
Label1: TLabel;
Label2: TLabel;
GroupBox2: TGroupBox;
Label3: TLabel;
Label4: TLabel;
PassEd: TEdit;
Pass1Ed: TEdit;
EditButton: TButton;
OperaidComboB: TComboBox;
OperanameComboB: TComboBox;
AddButton: TButton;
procedure FormCreate(Sender: TObject);
procedure EditButtonClick(Sender: TObject);
procedure OperaidComboBChange(Sender: TObject);
procedure AddButtonClick(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
OperatorFrm: TOperatorFrm;
implementation
uses DB_Frm,login;
{$R *.dfm}
procedure TOperatorFrm.FormCreate(Sender: TObject);
var
i,count:integer;
qrystring:string;
temp_id,temp_name:array[1..50]of string;
begin
qrystring:='select * from Operator';
with DBFrm.Opera_Query do
begin
close;
SQL.Clear;
SQL.Add(qrystring);
open;
first;
count:=recordcount;
for i:=1 to count do
begin
temp_id[i]:=fieldbyname('Opera_id').asstring;
temp_name[i]:=fieldbyname('Opera_name').asstring;
next;
end;
for i:=1 to count do
begin
OperaidComboB.Items.Add(temp_id[i]);
OperanameComboB.Items.Add(temp_name[i]);
end;
OperaidComboB.Text:=OperaidComboB.Items[0];
OperanameComboB.Text:=OperanameComboB.Items[0];
end;
end;
procedure TOperatorFrm.EditButtonClick(Sender: TObject);
var
qrystring:string;
begin
if (length(PassEd.Text)=0) or (length(Pass1Ed.Text)=0) then
messagebox(OperatorFrm.Handle,'请先输入密码','警告',mb_ok+mb_iconwarning)
else
begin
if PassEd.Text=Pass1Ed.Text then
begin
qrystring:='update Operator set password='+''''+trim(PassEd.Text)+''''+'where Opera_id='+''''+trim(OperaidComboB.Text)+'''';
with DBFrm.Opera_Query do
begin
close;
SQL.Clear;
SQL.Add(qrystring);
ExecSql;
end;
qrystring:='update login set password='+''''+trim(PassEd.Text)+''''+'where user_id='+''''+trim(OperaidComboB.Text)+'''';
with loginFrm.loginQuery do
begin
close;
SQL.Clear;
SQL.Add(qrystring);
ExecSql;
end;
end
else
begin
Application.MessageBox('请重新确认密码','密码确认错误',MB_OK);
PassEd.Text:='';
Pass1Ed.Text:='';
exit;
end;
end;
DBFrm.Opera_Table.Refresh;
end;
procedure TOperatorFrm.OperaidComboBChange(Sender: TObject);
var
i:integer;
begin
for i:=0 to OperaidComboB.Items.Count-1 do
begin
if OperaidComboB.Text=OperaidComboB.Items[i] then
OperanameComboB.Text:=OperanameComboB.Items[i];
end;
end;
procedure TOperatorFrm.AddButtonClick(Sender: TObject);
var
qrystring:string;
begin
if (length(OperaidComboB.Text)=0)or(length(OperanameComboB.Text)=0)or(length(PassEd.Text)=0)or(length(Pass1Ed.Text)=0)then
Messagedlg('请输入新记录!',mtError,[mbOK],0)
else
begin
if PassEd.Text=Pass1Ed.Text then
begin
qrystring:='select * from Operator where Opera_id='+''''+trim(OperaidComboB.Text)+'''';
with DBFrm.Opera_Query do
begin
close;
sql.Clear;
sql.Add(qrystring);
open;
recordcount;
if recordcount<>0 then
Messagedlg('该记录已经存在!',mtError,[mbOK],0)
else
begin
with DBFrm.Opera_Table do
begin
close;
open;
append;
fieldbyname('Opera_id').AsString:=trim(OperaidComboB.Text);
fieldbyname('Opera_name').AsString:=trim(OperanameComboB.Text);
fieldbyname('password').AsString:=trim(PassEd.Text);
post;
end;
with DBFrm.login_Table do
begin
close;
open;
append;
fieldbyname('user_id').AsString:=trim(OperaidComboB.Text);
// fieldbyname('Opera_name').AsString:=trim(OperanameComboB.Text);
fieldbyname('password').AsString:=trim(PassEd.Text);
post;
end;
end;
end;
end
else
messagedlg('两次输入的密码不一致,请从新输入!',mtError,[mbOK],0);
end;
end;
end.
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?