Query1.Close;
Query1.SQL.Add('Select 雇员号,口令 from guyuan');
Query1.SQL.Add('where 雇员号='+Edit1.Text);-----要用变量代替
Query1.SQL.Add('and 口令='''+Edit2.Text+'''');------同上
Query1.Open;
Query1.SQL.Add('Select 雇员号,口令 from guyuan');
Query1.SQL.Add('where 雇员号='+Edit1.Text);-----要用变量代替
Query1.SQL.Add('and 口令='''+Edit2.Text+'''');------同上
Query1.Open;
阿僚:你说的是这样改吗?:
Query1.Close;
Query1.SQL.Add('Select 雇员号,口令 from guyuan');
Query1.SQL.Add('where 雇员号='+'guyuans');-----guyuans是Integer,其它我不说了。
Query1.SQL.Add('and 口令='+'password');------同上Password:=Edit2.text;
Query1.Open;
这样也不行。
Query1.Close;
Query1.SQL.Add('Select 雇员号,口令 from guyuan');
//肯定是中间的逗号不是英文的,你把逗号换成英文的就可以了
Query1.SQL.Add('where 雇员号='+edit1.text);
Query1.SQL.Add('and 口令='''+password+'''');
Query1.Open;
//这句中的逗号注意用英文的逗号!!!!!!!
begin
Table1.Open;
Table1.SetKey;
Table1.FieldByName('雇员号').AsString:=Edit1.Text;
Table1.FieldByName('口令').AsString:=Edit2.Text;
if not Table1.GotoKey then
begin
ShowMessage('口令不对,请检查!');
Edit2.SetFocus;
Edit2.SelectAll;
end
else
begin
Table1.Edit;
Table1.FieldByName('口令').AsString:=Edit3.Text;
Table1.Post;
Table1.Close;
ShowMessage('口令修改成功!');
end;
end;
如下: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 ManCode,Password from guyuan');
Query1.SQL.Add('where ManCode='+Edit1.Text);///not string
Query1.SQL.Add('and Password='''+Edit2.Text+'''');///string
Query1.Open; if (Query1.RecordCount<>1) or (Edit2.Text<>Query1.FieldValues['口令']) then
begin
ShowMessage('口令不对,请检查!');
Edit2.SelectAll;
end
else
begin
Query1.Edit;
Query1.FieldByName('Password').asstring:=Edit3.Text;
Query1.Post;
ShowMessage('口令修改成功!');
BitBtn1.Click;
end;
end;
end;
我感肯定你的 雇员号,口令 中间的逗号是中文状态下的。
改了就好了。你看我的Mancode,Password 中间的逗号。
哈哈。
Query1.Sql.clear;
Query1.SQL.Add('Select ManCode,Password from guyuan');
Query1.SQL.Add('where ManCode='+Edit1.Text);///not string
Query1.SQL.Add('and Password='''+Edit2.Text+'''');///string
uery1.Open;
还有:
if (Query1.RecordCount<>1) or (Edit2.Text<>Query1.FieldValues['口令']) then
中,第二条件是多余的。最好改为
if Query1.RecordCount<>1 then
if Query1.eof=Query1.bof then
试试
Query1.Close;
Query1.SQL.Add('Select 雇员号,口令 from guyuan');
Query1.SQL.Add('where 雇员号='+Edit1.Text);
Query1.SQL.Add('and 口令='''+Edit2.Text+'''');
Query1.Open;
跟踪一下类型是否匹配,逗号是否正确