singlepost

хочу поменять adotable на adoquery чтобы не использовать цикл (delphi) << На главную или назад  

мне нужно чтобы при выполнении запроса сохранялся параметр recordcount, если он больще 0
то значит нужно переписать переменные из главной таблицы где
register.username (15 string|char)
register.userpassword (15 string|char)
register.fio_nick (30 string|char)
register.rule (longint|integer)

заменить это на запрос (уберу adotable и поставлю adoquery для проверки)

[code]
isTrue:=False; isLogon:=False; fionick:=''; Rule:=0;
if not adotable1.active then adotable1.active:=true;
adotable1.first;
while not adotable1.eof do
begin
isTrue:=(adotable1.fieldbyname('username').asString=username.text) and
(adotable1.fieldbyname('userpassword').asString=passcode.text) and
(adotable1.fieldbyname('rule').asInteger>0);
if isTrue then
begin
isLogon:=true;
fionick:=adotable1.fieldbyname('fio_nick').asString;
rule:=adotable1.fieldbyname('rule').asInteger;
break;
end;
adotable1.next;
end;
if Not isTrue Then
ShowMessage('Проверьте правильость набора имени и пароля пользователя');
[/code]

[code]
with adoquery do
begin
close; sql.clear;
sql.add('select *');
sql.add('from register');
sql.add('where register.username="'+username.text+'" and register.userpassword="'+passcode.text+'"');
open;
sql.execsql;
end;
[/code]

как сохранить данное в fionick (string) и rule (integer) что-то типа этого запроса

[code]
isLogon:=false;
with adoquery do
begin
close; sql.clear;
sql.text:=format('select * from register where username=:username and userpassword=:userpassword');
params.items[0].asstring:=username.text;
params.items[1].asstring:=passcode.text;
//Где должно стоять это условие (1)?
{if sql.recordcount>0 then
begin
isLogon:=true;
break;
end;}
open;
//Где должно стоять это условие(2)?
{if sql.recordcount>0 then
begin
isLogon:=true;
break;
end;}
sql.execsql;
//Где должно стоять это условие(3)?
{if sql.recordcount>0 then
begin
isLogon:=true;
break;
end;}
end;
[/code]

Ответы недоступны

Клуб программистов работает уже ой-ой-ой сколько, а если поточнее, то с 2007 года.