这段程序是用来更改密码的
出现问题是:数据无法添加到后台,说被Close了,
else if dm.Qrynewpass.FieldByName('userid').Asstring=SysUserId then和
dm.Qrynewpass.FieldByName('password').Asstring<>EncryStrHex(trim(oldpw.text),jiang1) then这句话中的Userid和password说不知道该字段,
请帮我写一段关于更改密码的程序,如果 分不够再加,unit Uupdatapw;interfaceuses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, bsSkinCtrls,DB,ADODB, StdCtrls, Mask, bsSkinBoxCtrls;
const
jiang1='smxycsdjiang546019820523';
type
Tfrmupdatapw = class(TForm)
bsSkinStdLabel1: TbsSkinStdLabel;
bsSkinStdLabel2: TbsSkinStdLabel;
bsSkinStdLabel3: TbsSkinStdLabel;
sureok: TbsSkinButton;
nosure: TbsSkinButton;
oldpw: TbsSkinPasswordEdit;
surepw: TEdit;
newpw: TEdit;
procedure nosureClick(Sender: TObject);
procedure sureokClick(Sender: TObject);
private
//abc:string;
{ Private declarations }
public
{ Public declarations }
end;var
frmupdatapw: Tfrmupdatapw;implementation
uses umain,udm,mycommon,jiang;
{$R *.dfm}procedure Tfrmupdatapw.nosureClick(Sender: TObject);
begin
close;
end;procedure Tfrmupdatapw.sureokClick(Sender: TObject);
begin
{ if uppercase(trim(newpw.text))<>uppercase(trim(surepw.text)) then
begin
messagebox(handle,'新密码和确认密码不同,请重新确认!','信息',mb_ok+mb_iconinformation);
newpw.setfocus;
exit;
end
//else if dm.Qrynewpass.Locate('userid',SysUserId,[]) then
else if dm.Qrynewpass.FieldByName('userid').Asstring=SysUserId then
begin
if dm.Qrynewpass.FieldByName('password').Asstring<>EncryStrHex(trim(oldpw.text),jiang1) then
begin
showmessage('原密码不对!请重新录入');
oldpw.SetFocus;
end
else
begin }
with DM.Qrynewpass do
begin
open;
close;
dm.Qrynewpass.sql.clear;
dm.Qrynewpass.sql.Add('update usertable set password=:password where userid=:userid');
(newpw.text),jiang1);
Parameters.ParamValues['UserId']:=SysUserId;
Parameters.ParamValues['password']:=EncryStrHex(trim(newpw.text),jiang1);
execsql;
{ with DM.Qrynewpass do
begin
open;
dm.Qrynewpass.sql.clear;
dm.Qrynewpass.sql.Add('update usertable set password=:password where userid=:userid');
//dm.Qrynewpw.ParamByName('UserId').asstring:=SysUserId;
//Qrynewpw.parambyname('password').asstring:=EncryStrHex(trim(newpw.text),jiang1);
Parameters.ParamValues['UserId']:=SysUserId;
Parameters.ParamValues['password']:=EncryStrHex(trim(newpw.text),jiang1);
execsql;
Application.MessageBox('成功地改变密码!','信息',mb_ok or mb_iconInformation);
Close; }
{if dm.Qrynewpw.active=true then
dm.Qrynewpw.close;
dm.Qrynewpw.Parameters.ParamValues['UserId']:=SysUserId;
dm.Qrynewpw.Parameters.ParamValues['password']:=EncryStrHex(trim(newpw.text),jiang1);
dm.Qrynewpw.execsql;
messagebox(handle,'密码已经成功修改!','提示',mb_ok+mb_iconinformation);
close;
end }
//end;end;
end; end;
end.
出现问题是:数据无法添加到后台,说被Close了,
else if dm.Qrynewpass.FieldByName('userid').Asstring=SysUserId then和
dm.Qrynewpass.FieldByName('password').Asstring<>EncryStrHex(trim(oldpw.text),jiang1) then这句话中的Userid和password说不知道该字段,
请帮我写一段关于更改密码的程序,如果 分不够再加,unit Uupdatapw;interfaceuses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, bsSkinCtrls,DB,ADODB, StdCtrls, Mask, bsSkinBoxCtrls;
const
jiang1='smxycsdjiang546019820523';
type
Tfrmupdatapw = class(TForm)
bsSkinStdLabel1: TbsSkinStdLabel;
bsSkinStdLabel2: TbsSkinStdLabel;
bsSkinStdLabel3: TbsSkinStdLabel;
sureok: TbsSkinButton;
nosure: TbsSkinButton;
oldpw: TbsSkinPasswordEdit;
surepw: TEdit;
newpw: TEdit;
procedure nosureClick(Sender: TObject);
procedure sureokClick(Sender: TObject);
private
//abc:string;
{ Private declarations }
public
{ Public declarations }
end;var
frmupdatapw: Tfrmupdatapw;implementation
uses umain,udm,mycommon,jiang;
{$R *.dfm}procedure Tfrmupdatapw.nosureClick(Sender: TObject);
begin
close;
end;procedure Tfrmupdatapw.sureokClick(Sender: TObject);
begin
{ if uppercase(trim(newpw.text))<>uppercase(trim(surepw.text)) then
begin
messagebox(handle,'新密码和确认密码不同,请重新确认!','信息',mb_ok+mb_iconinformation);
newpw.setfocus;
exit;
end
//else if dm.Qrynewpass.Locate('userid',SysUserId,[]) then
else if dm.Qrynewpass.FieldByName('userid').Asstring=SysUserId then
begin
if dm.Qrynewpass.FieldByName('password').Asstring<>EncryStrHex(trim(oldpw.text),jiang1) then
begin
showmessage('原密码不对!请重新录入');
oldpw.SetFocus;
end
else
begin }
with DM.Qrynewpass do
begin
open;
close;
dm.Qrynewpass.sql.clear;
dm.Qrynewpass.sql.Add('update usertable set password=:password where userid=:userid');
(newpw.text),jiang1);
Parameters.ParamValues['UserId']:=SysUserId;
Parameters.ParamValues['password']:=EncryStrHex(trim(newpw.text),jiang1);
execsql;
{ with DM.Qrynewpass do
begin
open;
dm.Qrynewpass.sql.clear;
dm.Qrynewpass.sql.Add('update usertable set password=:password where userid=:userid');
//dm.Qrynewpw.ParamByName('UserId').asstring:=SysUserId;
//Qrynewpw.parambyname('password').asstring:=EncryStrHex(trim(newpw.text),jiang1);
Parameters.ParamValues['UserId']:=SysUserId;
Parameters.ParamValues['password']:=EncryStrHex(trim(newpw.text),jiang1);
execsql;
Application.MessageBox('成功地改变密码!','信息',mb_ok or mb_iconInformation);
Close; }
{if dm.Qrynewpw.active=true then
dm.Qrynewpw.close;
dm.Qrynewpw.Parameters.ParamValues['UserId']:=SysUserId;
dm.Qrynewpw.Parameters.ParamValues['password']:=EncryStrHex(trim(newpw.text),jiang1);
dm.Qrynewpw.execsql;
messagebox(handle,'密码已经成功修改!','提示',mb_ok+mb_iconinformation);
close;
end }
//end;end;
end; end;
end.
解决方案 »
- delphi adoquery access 插入速度
- TLMDOneInstance 这个类属于哪个控件
- 怎么用Delphi画方格图啊?大哥哥们帮忙啊,急死人了
- 如何实现按编码逐级累加?
- 在线等,mediaplayer 控件怎么判断已经播放结束?急!
- intraweb开发的ISAPI运行是必须是HTTP://localhost/...吗?
- 大富翁論壇這幾天為何不能登陸,出什麼問題了?
- 如何在IIS中配置一个用IntraWeb控件组写的Dll文件呢?
- daehappy进来取分,感谢给分!
- 急急急!!!关于MSMQ。请问各位,有谁用DELPHI作过基于MSMQ(消息队列)的通信开发?DELPHI中已有控件,具体流程如何,请赐教。
- 固定格式报表设计的问题
- 哪位老大买了刘艺的Delphi6企业级解决方案及应用破袭的书,可不可以把光盘代码提供一下呢,非常感谢!
begin
open;
close;
这里的open没有什么作用吧
还有就是with数据集了 为什么还要dm.query.没有必要
begin
dm.Qrynewpass.active=true;
dm.Qrynewpass.open;
end;
implementation
uses umain,mycommon,udm,ulogin;
{$R *.dfm}procedure TFrmoperator.addabcClick(Sender: TObject);
begin
abc:=1;
userid.Text:='';
username.text:='';
UserId.SetFocus;
editabc.Enabled :=false;
delabc.Enabled :=false;
canno.Enabled :=false;
suerabc.Enabled := true;end;procedure TFrmoperator.suerabcClick(Sender: TObject);
var
str:string;
begin
str:=userid.Text;
if(userid.text='')then
begin
application.MessageBox('用户账号不能为空!','错误',mb_ok or mb_iconError);
userid.SetFocus;
exit
end;
if abc=1 then
begin
if dm.QryOperator.Locate('user_id',userid.Text,[loCaseInsensitive]) then
begin
application.MessageBox('此用户已存在!','错误',mb_ok or mb_iconError);
userid.SetFocus;
exit;
end;
if DM.ADO.InTransaction then Dm.ADO.RollbackTrans ;
DM.ADO.BeginTrans;
if abc=1 then
begin
with dm.QryOperator do
begin
close;
sql.clear;
sql.add('insert into usertable (User_Id,UserName,pass_word) '+
'values (:User_Id,:UserName,:pass_word)');
Parameters.ParamValues['User_Id']:=Trim(UserId.text);
Parameters.ParamValues['UserName']:=Trim(UserName.text);
Parameters.ParamValues['pass_word']:=EncryStrHex('jiang5460',jiang1);
execsql;
close;
dm.ADO.CommitTrans;
showmessage('用户添加成功!');
if Dm.QryOperator.Active then
Dm.QryOperator.Close;
Dm.QryOperator.Open ;
end;
userid.text:='';
username.text:='';
userid.SetFocus;
end
else if abc=2 then
begin
with dm.QryOperator do
begin
close;
Parameters.ParamValues['User_id'] := trim(userid.text);
Parameters.ParamValues['UserName'] := trim(UserName.text);
Parameters.ParamValues['pass_word'] :=EncryStrHex('jiang5460',jiang1);
execsql;
end;
canno.Enabled := false;
suerabc.Enabled := false;
addabc.Enabled := true;
delabc.Enabled := true;
editabc.Enabled := true;
UserId.Text := '';
UserName.Text := '';
userid.SetFocus;
end;
end;
end;
procedure TFrmoperator.FormShow(Sender: TObject);
begin
with DM do
begin
if Qryoperator.Active=True then
Qryoperator.Close;
Qryoperator.Open;
end;end;procedure TFrmoperator.delabcClick(Sender: TObject);
begin
with dm.QryOperator do
begin
if Dm.QryOperator.eof then exit; //MessageBox(0,'空记录不能删除!','提示',MB_OK+MB_ICONWARNING);
if application.MessageBox('你确实要删除当前用户吗?','警告',MB_YESNO+MB_ICONWARNING)=IDYes then
DM.Qryoperator.Delete;
end;
end;
procedure TFrmoperator.exitabcClick(Sender: TObject);
begin
dm.QryOperator.close;
close;
end;procedure TFrmoperator.editabcClick(Sender: TObject);
begin
with dm.QryOperator do
begin
abc:=2;
addabc.Enabled := false;
delabc.Enabled := false;
Editabc.Enabled := false;
canno.Enabled := true;
suerabc.Enabled := true;
UserId.Text :=DM.QryOperator.Fieldbyname('user_id').AsString;
UserName.Text :=DM.QryOperator.Fieldbyname('username').AsString ;
// UserId.Enabled:=false;
//UserName.SetFocus;
UserId.setfocus;
end;
end;procedure TFrmoperator.FormCreate(Sender: TObject);
begin
addabc.Enabled:=true;
editabc.Enabled:=true;
delabc.Enabled:=true;
canno.Enabled := true;
end;procedure TFrmoperator.DBGrid1CellClick(Column: TColumn);
begin
editabc.Enabled:=true;
end;procedure TFrmoperator.cannoClick(Sender: TObject);
begin
UserId.Text :='';
UserName.Text :='';
addabc.Enabled := true;
delabc.Enabled := true;
editabc.Enabled := true;
canno.Enabled := false;
suerabc.Enabled := false;
end;end.
implementation
uses umain,mycommon,udm,ulogin;
{$R *.dfm}procedure TFrmoperator.addabcClick(Sender: TObject);
begin
abc:=1;
userid.Text:='';
username.text:='';
UserId.SetFocus;
editabc.Enabled :=false;
delabc.Enabled :=false;
canno.Enabled :=false;
suerabc.Enabled := true;end;procedure TFrmoperator.suerabcClick(Sender: TObject);
var
str:string;
begin
str:=userid.Text;
if(userid.text='')then
begin
application.MessageBox('用户账号不能为空!','错误',mb_ok or mb_iconError);
userid.SetFocus;
exit
end;
if abc=1 then
begin
if dm.QryOperator.Locate('user_id',userid.Text,[loCaseInsensitive]) then
begin
application.MessageBox('此用户已存在!','错误',mb_ok or mb_iconError);
userid.SetFocus;
exit;
end;
if DM.ADO.InTransaction then Dm.ADO.RollbackTrans ;
DM.ADO.BeginTrans;
if abc=1 then
begin
with dm.QryOperator do
begin
close;
sql.clear;
sql.add('insert into usertable (User_Id,UserName,pass_word) '+
'values (:User_Id,:UserName,:pass_word)');
Parameters.ParamValues['User_Id']:=Trim(UserId.text);
Parameters.ParamValues['UserName']:=Trim(UserName.text);
Parameters.ParamValues['pass_word']:=EncryStrHex('jiang5460',jiang1);
execsql;
close;
dm.ADO.CommitTrans;
showmessage('用户添加成功!');
if Dm.QryOperator.Active then
Dm.QryOperator.Close;
Dm.QryOperator.Open ;
end;
userid.text:='';
username.text:='';
userid.SetFocus;
end
else if abc=2 then
begin
with dm.QryOperator do
begin
close;
Parameters.ParamValues['User_id'] := trim(userid.text);
Parameters.ParamValues['UserName'] := trim(UserName.text);
Parameters.ParamValues['pass_word'] :=EncryStrHex('jiang5460',jiang1);
execsql;
end;
canno.Enabled := false;
suerabc.Enabled := false;
addabc.Enabled := true;
delabc.Enabled := true;
editabc.Enabled := true;
UserId.Text := '';
UserName.Text := '';
userid.SetFocus;
end;
end;
end;
procedure TFrmoperator.FormShow(Sender: TObject);
begin
with DM do
begin
if Qryoperator.Active=True then
Qryoperator.Close;
Qryoperator.Open;
end;end;procedure TFrmoperator.delabcClick(Sender: TObject);
begin
with dm.QryOperator do
begin
if Dm.QryOperator.eof then exit; //MessageBox(0,'空记录不能删除!','提示',MB_OK+MB_ICONWARNING);
if application.MessageBox('你确实要删除当前用户吗?','警告',MB_YESNO+MB_ICONWARNING)=IDYes then
DM.Qryoperator.Delete;
end;
end;
procedure TFrmoperator.exitabcClick(Sender: TObject);
begin
dm.QryOperator.close;
close;
end;procedure TFrmoperator.editabcClick(Sender: TObject);
begin
with dm.QryOperator do
begin
abc:=2;
addabc.Enabled := false;
delabc.Enabled := false;
Editabc.Enabled := false;
canno.Enabled := true;
suerabc.Enabled := true;
UserId.Text :=DM.QryOperator.Fieldbyname('user_id').AsString;
UserName.Text :=DM.QryOperator.Fieldbyname('username').AsString ;
// UserId.Enabled:=false;
//UserName.SetFocus;
UserId.setfocus;
end;
end;procedure TFrmoperator.FormCreate(Sender: TObject);
begin
addabc.Enabled:=true;
editabc.Enabled:=true;
delabc.Enabled:=true;
canno.Enabled := true;
end;procedure TFrmoperator.DBGrid1CellClick(Column: TColumn);
begin
editabc.Enabled:=true;
end;procedure TFrmoperator.cannoClick(Sender: TObject);
begin
UserId.Text :='';
UserName.Text :='';
addabc.Enabled := true;
delabc.Enabled := true;
editabc.Enabled := true;
canno.Enabled := false;
suerabc.Enabled := false;
end;end.