Eso es lo que yo pensaba, pero ayer hice la prueba en una instrucción IF con 2 lineas para comprobar unos datos y se saltaba la condicion de la segunda linea.
Era algo asi como:
Código Delphi
[-]
var
qry: TQuery;
sentencia: String;
...
qry.SQL.Clear;
sentencia:='La sentencia SQL, que estaba comprobada que era correcta por cierto';
qry.SQL.Add(sentencia);
qry.Open;
if (qry.RowsAffected=1)
AND (qry.FieldByName('Usuario').AsString=txt_Usuario.Text))
AND (qry.FieldByName('Password').AsString=txt_Password.text) then begin
... end
else
El codigo este es inventado, es como ejemplo explicativo de lo que se hacia con datos diferentes. Pues el caso es que la condicion de la comprobacion de las lineas por encima de la primer en el ejemplo no la hacia, solo comprobaba las condiciones de la primera linea.
De todas formas voy a probar a ver, posiblemente es que yo me equivocaria en alguna parte de la comprobacion y por eso no lo daba por bueno. Os diré si funciona enseguida.