procedure TForm1.Button1Click(Sender: TObject);
var
sqlstr,id,password,aa:string;
begin
if (trim(edit1.text)<>'') and (trim(edit2.text)<>'') then
begin
id:=trim(edit1.text);
password:=trim(edit2.text);
sqlstr:='select * from manager where (managerid='''+id+''') and (password='''+password+''')';
query1.close;
query1.SQL.Clear ;
query1.SQL.Add(sqlstr);
query1.open ; if (query1.ParamCount >0) then aa:=query1.ParamByName ('zhiwei').Value
form1.close else
begin
showmessage('用户名或密码错误!'); end
end
else
showmessage('请输入用户名和密码!');
end;end.
以上是我的登录程序,但是运行时每次都是显示"用户名或密码错误",但是跟数据库表中值没错啊,大哥大姐帮忙啊!
var
sqlstr,id,password,aa:string;
begin
if (trim(edit1.text)<>'') and (trim(edit2.text)<>'') then
begin
id:=trim(edit1.text);
password:=trim(edit2.text);
sqlstr:='select * from manager where (managerid='''+id+''') and (password='''+password+''')';
query1.close;
query1.SQL.Clear ;
query1.SQL.Add(sqlstr);
query1.open ; if (query1.ParamCount >0) then aa:=query1.ParamByName ('zhiwei').Value
form1.close else
begin
showmessage('用户名或密码错误!'); end
end
else
showmessage('请输入用户名和密码!');
end;end.
以上是我的登录程序,但是运行时每次都是显示"用户名或密码错误",但是跟数据库表中值没错啊,大哥大姐帮忙啊!
if (query1.RecordCount >0) then //要用RecordCount判断返回的记录数 aa:=query1.FieldByName ('zhiwei').AsString;//用FieldByName返回所需字段,最好用AsXXXX明确指定返回值的类型,防止出现Variant转换错误,另外也提高性能。
close;//前面不要加Form1,这个坏习惯在以后可能会使你遇到难以调试出的异常。 else
sqlstr:='select * from manager where (rtrim(managerid)='''+id+''') and (rtrim(password)='''+password+''')';
sqlstr:='select * from manager where rtrim(managerid)='''+id+''' and rtrim(password)='''+password+'''';