Esta consulta implica que ya hay una conexión activa sobre la base de datos, por lo que problema de conexión no es.
¿Has probado a ejecutar la consulta directamente sobre la bd de oracle?
¿devuelve los registros que esperas?
También puede ser debido a que usas RecordCount del DataSet.
Por experiencia, si no "navegas" hasta el ultimo registro, la propiedad RecordCount puede devolver resultados erróneos.
Código Delphi
[-]
form2.dbedit1.Clear;
form2.adoquery1.Close;
form2.adoquery1.sql.Clear;
form2.adoquery1.SQL.Add('select username,password FROM DBA_USERS');
form2.adoquery1.SQL.Add('where username = :NombreUsuario');
form2.adoquery1.SQL.Add('or password = :ClaveUsuario');
form2.adoquery1.ParamByName('NombreUsuario').AsString := dbedit1.Text;
form2.adoquery1.ParamByName('ClaveUsuario').AsString := dbedit2.Text;
form2.adoquery1.Open;
form2.adoquery1.Last; if form2.adoquery1.RecordCount > 0
then
form1.showmodal
else
showmessage ('Usuario O PassWord Invalido');