这是Delphi编的一个系统,用户管理中添加用户和修改密码总是出错???????
错误名为"Invild user of keyword"
代码如下:
添加用户代码
unit user_add;interfaceuses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, DBTables, DB, ExtCtrls;type
TForm11 = class(TForm)
Label1: TLabel;
Label3: TLabel;
Button1: TButton;
Button2: TButton;
Edit1: TEdit;
DataSource1: TDataSource;
Table1: TTable;
Query1: TQuery;
RadioGroup1: TRadioGroup;
procedure FormCreate(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;var
Form11: TForm11;implementation{$R *.dfm}var
power:string;
pwd:string;
procedure TForm11.FormCreate(Sender: TObject);
var
curdir:string;
begin
getdir(0,curdir);
table1.DatabaseName:=curdir;
table1.Active:=true;
query1.DatabaseName:=curdir;
table1.Append;
end;procedure TForm11.Button1Click(Sender: TObject);
begin
pwd:='123456';
case RadioGroup1.ItemIndex of
0:
begin
power:='0';
end;
1:
begin
power:='1';
end;
end;
query1.SQL.Clear;
query1.SQL.Add('insert into user (id,power,pwd) values(:"+edit1.text+",:"+power+",:"+pwd+")');
query1.Params[0].AsString:=edit1.Text;
query1.Params[1].AsString:=power;
query1.Params[2].AsString:=pwd;
query1.ExecSQL;
showmessage('用户添加成功!');
edit1.Text:='';
end;procedure TForm11.Button2Click(Sender: TObject);
begin
close;
end;end.~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
修改密码代码:
unit user_update;interfaceuses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, DBTables, DB, StdCtrls;type
TForm13 = class(TForm)
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
Label5: TLabel;
Button1: TButton;
Button2: TButton;
Edit1: TEdit;
Edit2: TEdit;
Edit3: TEdit;
Table1: TTable;
DataSource1: TDataSource;
Query1: TQuery;
procedure Button1Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure Button2Click(Sender: TObject); private
{ Private declarations }
public
{ Public declarations }
end;var
Form13: TForm13;implementationuses login;{$R *.dfm}procedure TForm13.Button1Click(Sender: TObject);
var
userid,oldpwd,newpwd,qrpass:string;
begin
userid:=form1.edit1.Text;
oldpwd:=edit1.Text;
newpwd:=edit2.Text;
qrpass:=edit3.Text;
if oldpwd<>form1.Edit2.Text then
begin
showmessage('密码不正确,请重新输入');
edit1.Text:='';
edit1.SetFocus;
end
else
if newpwd<>qrpass then
begin
showmessage('确认密码不相同,请确认!');
edit2.Text:='';
edit3.Text:='';
edit2.SetFocus;
end
else
begin
datasource1.DataSet:=table1;
userid:=table1.fieldbyname('username').AsString;
query1.SQL.Clear;
query1.SQL.Add('update user set password=:"+newpwd+" where username=:"+userid+"');
query1.Params[0].AsString:=newpwd;
query1.Params[1].AsString:=userid;
query1.ExecSQL;
showmessage('密码修改成功');
edit1.Text:='';
edit2.Text:='';
edit3.Text:='';
form1.Edit2.Text:=newpwd;
end;
end;
procedure TForm13.FormCreate(Sender: TObject);
var
curdir:string;
begin
getdir(0,curdir);
table1.DatabaseName:=curdir;
table1.Active:=true;
query1.DatabaseName:=curdir;
end;procedure TForm13.Button2Click(Sender: TObject);
begin
edit1.Text:='';
edit2.Text:='';
edit3.Text:='';
close;
end;
end.
错误名为"Invild user of keyword"
代码如下:
添加用户代码
unit user_add;interfaceuses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, DBTables, DB, ExtCtrls;type
TForm11 = class(TForm)
Label1: TLabel;
Label3: TLabel;
Button1: TButton;
Button2: TButton;
Edit1: TEdit;
DataSource1: TDataSource;
Table1: TTable;
Query1: TQuery;
RadioGroup1: TRadioGroup;
procedure FormCreate(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;var
Form11: TForm11;implementation{$R *.dfm}var
power:string;
pwd:string;
procedure TForm11.FormCreate(Sender: TObject);
var
curdir:string;
begin
getdir(0,curdir);
table1.DatabaseName:=curdir;
table1.Active:=true;
query1.DatabaseName:=curdir;
table1.Append;
end;procedure TForm11.Button1Click(Sender: TObject);
begin
pwd:='123456';
case RadioGroup1.ItemIndex of
0:
begin
power:='0';
end;
1:
begin
power:='1';
end;
end;
query1.SQL.Clear;
query1.SQL.Add('insert into user (id,power,pwd) values(:"+edit1.text+",:"+power+",:"+pwd+")');
query1.Params[0].AsString:=edit1.Text;
query1.Params[1].AsString:=power;
query1.Params[2].AsString:=pwd;
query1.ExecSQL;
showmessage('用户添加成功!');
edit1.Text:='';
end;procedure TForm11.Button2Click(Sender: TObject);
begin
close;
end;end.~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
修改密码代码:
unit user_update;interfaceuses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, DBTables, DB, StdCtrls;type
TForm13 = class(TForm)
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
Label5: TLabel;
Button1: TButton;
Button2: TButton;
Edit1: TEdit;
Edit2: TEdit;
Edit3: TEdit;
Table1: TTable;
DataSource1: TDataSource;
Query1: TQuery;
procedure Button1Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure Button2Click(Sender: TObject); private
{ Private declarations }
public
{ Public declarations }
end;var
Form13: TForm13;implementationuses login;{$R *.dfm}procedure TForm13.Button1Click(Sender: TObject);
var
userid,oldpwd,newpwd,qrpass:string;
begin
userid:=form1.edit1.Text;
oldpwd:=edit1.Text;
newpwd:=edit2.Text;
qrpass:=edit3.Text;
if oldpwd<>form1.Edit2.Text then
begin
showmessage('密码不正确,请重新输入');
edit1.Text:='';
edit1.SetFocus;
end
else
if newpwd<>qrpass then
begin
showmessage('确认密码不相同,请确认!');
edit2.Text:='';
edit3.Text:='';
edit2.SetFocus;
end
else
begin
datasource1.DataSet:=table1;
userid:=table1.fieldbyname('username').AsString;
query1.SQL.Clear;
query1.SQL.Add('update user set password=:"+newpwd+" where username=:"+userid+"');
query1.Params[0].AsString:=newpwd;
query1.Params[1].AsString:=userid;
query1.ExecSQL;
showmessage('密码修改成功');
edit1.Text:='';
edit2.Text:='';
edit3.Text:='';
form1.Edit2.Text:=newpwd;
end;
end;
procedure TForm13.FormCreate(Sender: TObject);
var
curdir:string;
begin
getdir(0,curdir);
table1.DatabaseName:=curdir;
table1.Active:=true;
query1.DatabaseName:=curdir;
end;procedure TForm13.Button2Click(Sender: TObject);
begin
edit1.Text:='';
edit2.Text:='';
edit3.Text:='';
close;
end;
end.
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货