1 答案是非常肯定的,说老实话,我用vc, vb, pb作的时候,都觉得没在delphi下的漂亮 2 用一个dataset等最简单的方法就是在主窗口show以前,showmodal登陆窗口,然后用一个查询 query.asql.add('select * from able where user = ''' + edit1.text + ''' and password = ''' + edit2.text + '''); query.open3 查一下以前的帖子,很多的,给一个: procedure Tpassform.BitBtn1Click(Sender: TObject); label aa,bb; var strsql:string; begin strsql:='select * from users where(用户="'+combobox1.Text+'")'; dmq1.DateSQLFirst(strsql,query1); if query1.Fields[1].isnull then begin if edit1.Text<>'' then begin showmessage('口令不对,请重新输入或与管理者联系.'); goto bb; end else goto aa; end else begin if edit1.Text<>query1.FieldValues['口令'] then begin showmessage('口令不对,请重新输入或与管理者联系.'); goto bb; end else goto aa; end; aa:flag1:=true; names:=combobox1.text;close; bb:edit1.SetFocus;edit1.Text:='';
end; 我想向您请教这里的 1、if query1.Fields[1].isnull then begin if edit1.Text<>'' then begin showmessage('口令不对,请重新输入或与管理者联系.'); goto bb; end else goto aa; end
不好意思,写多了: 1 答案是非常肯定的,说老实话,我用vc, vb, pb作的时候,都觉得没在delphi下的漂亮 2 用一个dataset等最简单的方法就是在主窗口show以前,showmodal登陆窗口,然后用一个查询 query.asql.add('select * from able where user = ''' + edit1.text + ''' and password = ''' + edit2.text + '''); query.open3 查一下以前的帖子,很多的,给一个: procedure Tpassform.BitBtn1Click(Sender: TObject); label aa,bb; var strsql:string; begin strsql:='select * from users where(用户="'+combobox1.Text+'")'; dmq1.DateSQLFirst(strsql,query1); if query1.Fields[1].isnull then begin if edit1.Text<>'' then begin showmessage('口令不对,请重新输入或与管理者联系.'); goto bb; end else goto aa; end else begin if edit1.Text<>query1.FieldValues['口令'] then begin showmessage('口令不对,请重新输入或与管理者联系.'); goto bb; end else goto aa; end; aa:flag1:=true; names:=combobox1.text;close; bb:edit1.SetFocus;edit1.Text:='';
end;
ADODataset1.Close; adodataset1.commandtext:='selsect * form pstable where id=:pid and ps:=pps'; ADODataset1.Parameters.ParamByName('pid').Value:=combobox1.Text;//用户名 ADODataset1.Parameters.ParamByName('pps').Value:=password.Text;//密码 ADODataset1.Open; if ADODataset.RecordCount>0 then begin //密码正确 . . . end else begin //密码错误 . . . application.Terminate; end;
'select * from able where user = ''' + edit1.text + ''' and password = ''' + edit2.text + '''firetoucher(蹈火者)兄,上面这句的引号用法我不太懂,为什么会有3个引号括住一个变量呢?可以告诉我Delphi里sql语句的写法吗?
这是为了传到服务器去的时候还保留一个引号就像: select * from table where user = 'firetoucher' 但在delphi的书写里,单引号是特殊字符,所以用''表示一个单引号.
2 用一个dataset等最简单的方法就是在主窗口show以前,showmodal登陆窗口,然后用一个查询
query.asql.add('select * from able where user = ''' + edit1.text + ''' and password = ''' + edit2.text + ''');
query.open3 查一下以前的帖子,很多的,给一个:
procedure Tpassform.BitBtn1Click(Sender: TObject);
label aa,bb;
var
strsql:string;
begin
strsql:='select * from users where(用户="'+combobox1.Text+'")';
dmq1.DateSQLFirst(strsql,query1);
if query1.Fields[1].isnull then
begin
if edit1.Text<>'' then
begin
showmessage('口令不对,请重新输入或与管理者联系.');
goto bb;
end
else
goto aa;
end
else
begin
if edit1.Text<>query1.FieldValues['口令'] then
begin
showmessage('口令不对,请重新输入或与管理者联系.');
goto bb;
end
else
goto aa;
end;
aa:flag1:=true; names:=combobox1.text;close;
bb:edit1.SetFocus;edit1.Text:='';
end;
我想向您请教这里的
1、if query1.Fields[1].isnull then
begin
if edit1.Text<>'' then
begin
showmessage('口令不对,请重新输入或与管理者联系.');
goto bb;
end
else
goto aa;
end
1 答案是非常肯定的,说老实话,我用vc, vb, pb作的时候,都觉得没在delphi下的漂亮
2 用一个dataset等最简单的方法就是在主窗口show以前,showmodal登陆窗口,然后用一个查询
query.asql.add('select * from able where user = ''' + edit1.text + ''' and password = ''' + edit2.text + ''');
query.open3 查一下以前的帖子,很多的,给一个:
procedure Tpassform.BitBtn1Click(Sender: TObject);
label aa,bb;
var
strsql:string;
begin
strsql:='select * from users where(用户="'+combobox1.Text+'")';
dmq1.DateSQLFirst(strsql,query1);
if query1.Fields[1].isnull then
begin
if edit1.Text<>'' then
begin
showmessage('口令不对,请重新输入或与管理者联系.');
goto bb;
end
else
goto aa;
end
else
begin
if edit1.Text<>query1.FieldValues['口令'] then
begin
showmessage('口令不对,请重新输入或与管理者联系.');
goto bb;
end
else
goto aa;
end;
aa:flag1:=true; names:=combobox1.text;close;
bb:edit1.SetFocus;edit1.Text:='';
end;
adodataset1.commandtext:='selsect * form pstable where id=:pid and ps:=pps';
ADODataset1.Parameters.ParamByName('pid').Value:=combobox1.Text;//用户名
ADODataset1.Parameters.ParamByName('pps').Value:=password.Text;//密码
ADODataset1.Open;
if ADODataset.RecordCount>0 then
begin //密码正确
.
.
.
end
else
begin //密码错误
.
.
.
application.Terminate;
end;
select * from table where user = 'firetoucher'
但在delphi的书写里,单引号是特殊字符,所以用''表示一个单引号.