为什么我的修改口令程序总是出错?(200分)

  • 主题发起人 主题发起人 CobraKing
  • 开始时间 开始时间
C

CobraKing

Unregistered / Unconfirmed
GUEST, unregistred user!
我写一个程序时要求能修改口令,可是总是出错。我的程序是:
procedure TForm2.BitBtn2Click(Sender: TObject);
begin
if (Edit1.Text='') or (Edit3.Text<>Edit4.Text) then
begin
if Edit1.Text='' then
begin
showMessage('Error Please Select a yonghu');
Edit1.SetFocus;
end
else
begin
showMessage('Error! your kouling is Wrong');
Edit3.Text:='';
Edit4.Text:='';
end;
end
else
begin
Query1.Close;
Query1.SQL.Add('Select 雇员号,口令 from guyuan');
Query1.SQL.Add('where 雇员号='+Edit1.Text);
Query1.SQL.Add('and 口令='''+Edit2.Text+'''');
Query1.Open;

if (Query1.RecordCount<>1) or (Edit2.Text<>Query1.FieldValues['口令']) then
begin
ShowMessage('口令不对,请检查!');
Edit2.SelectAll;
end
else
begin
Query1.Edit;
Query1.FieldValues['口令']:=Edit3.Text;
Query1.Post;
ShowMessage('口令修改成功!');
BitBtn1.Click;
end;
end;
end;

出现错误:Project porject1.exe raised exception class EBDEngineError with
message'Invalid field name.
雇员号,口令'.Process stopped.Use Step or Run to contineu.

请高手指教!!200大洋!!!!
 
字段名不对,请检查guyuan表中的字段名!强列建议使用英文或拼音字段名。
 
在SQL中字符串要需要用""号括起来的!
Query1.Close;
Query1.SQL.Add('Select 雇员号,口令 from guyuan');
Query1.SQL.Add('where 雇员号="'+Edit1.Text+'"');
Query1.SQL.Add('and 口令="'+Edit2.Text+'"');
Query1.Open;
 
看看数据库中的字段名是否使用了数据库的关键字例如:
paradox中使用name,year都会出错的.
 
你的 雇员号,口令 间的逗号是全角的逗号,而不是英文的逗号,当然要错了!
 
不行。还有错误,是Passwords(前'雇员号')会出类似的错。
 
这么简单没人答吗?我可以把程序发给他,调好后发给我行吗?谁有意就报名,给最快的加
150分!
 
1。象这种问题,你最好自己做一下调试,才能提高
2。请不要浪费网络资源!
 
再给你找个错误:
Query1.Close;
Query1.Clear; //要加上这一行, 否则第二次执行又出错了。 <--------
Query1.SQL.Add('Select 雇员号,口令 from guyuan');
Query1.SQL.Add('where 雇员号='+Edit1.Text);
Query1.SQL.Add('and 口令='''+Edit2.Text+'''');
Query1.Open;

>>还有错误,是Passwords(前'雇员号')会出类似的错。
CobraKing:
你这句话是什么意思?
在程序执行时,在那一步出错,一般说来它的上一步就有点问题。
从以上代码来看,你是初学者,其实你最好学会调试方法,学会自己分析问题,解决问题。

掌握代码的调试可是程序员必须具有的基础功哦。





 
给我发过来吧。cobra2000@sina.com
 
接受答案了.
 
后退
顶部