Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 16-10-2007
Avatar de thelibmx
thelibmx thelibmx is offline
Miembro
 
Registrado: mar 2007
Posts: 515
Poder: 18
thelibmx Va por buen camino
range check error

hola amigos, me he encontrado con este problemita, busque en los foros un poco y creo que no encontre mucho al respecto, este codigo que utilizo lo saque de aqui del foro y funciona bien, pero me he encontrado con una sorpresa ahora, estoy llenando un combobox en tiempo de ejecucion, en otras pantallas que tengo en el mismo programa si funciona pero en una que tengo no, me manda un mensaje de range check error, lo que yo quiero hacer es sacar diferentes años que se encuentran almacenados en una tabla, y que me los muestre en un combobox, para posteriormente hacer un filtro por esos años encontrados, aqui esta el codigo que utilizo

Código Delphi [-]
procedure TFormquincena.Button3Click(Sender: TObject);
var
Count1,pos: Cardinal;
text: string;
begin
 
    Pos := ComBoxselectoranio.SelStart;
    ComBoxselectoranio.Items.Clear;
    Text := ComBoxselectoranio.Text;
 
fs.Query_catalogo_quincenasmod.Close;
fs.Query_catalogo_quincenasmod.SQL.Clear;
fs.Query_catalogo_quincenasmod.SQL.Add('select DISTINCT anio from catalogo_quincenas');
fs.Query_catalogo_quincenasmod.ExecSQL;
fs.Query_catalogo_quincenasmod.Open;
 
 Count1:=fs.Query_catalogo_quincenasmod.RecordCount;
  showmessage(inttostr(count1));

    if Count1 > 0 then
     begin
      repeat Dec(Count1);
       ComBoxselectoranio.Items.Add(fs.Query_catalogo_quincenasmod.FieldByName 'anio').AsString);
       formconecciones.Queryregistrovaca.Next;
      until Count1 = 0;
      ComBoxselectoranio.ItemIndex := 0;
      ComBoxselectoranio.SelStart := Pos;
      ComBoxselectoranio.SelLength := 255;
    end;

end;

el error me lo manda en esta linea
Código Delphi [-]
 Count1:=formconecciones.Query_catalogo_quincenasmod.RecordCount;
range check error,
algo fuera de rango pero no identifico el error podrian ayudarme o darme una pista, si necesitan mas informacion pueden preguntar, les agradesco su ayuda
__________________
En movimiento...
Responder Con Cita
  #2  
Antiguo 16-10-2007
Avatar de jhonny
jhonny jhonny is offline
Jhonny Suárez
 
Registrado: may 2003
Ubicación: Colombia
Posts: 7.058
Poder: 29
jhonny Va camino a la famajhonny Va camino a la fama
Bueno, parece que RecordCount tiene por defecto el valor -1 y un tipo Cardinal va desde 0 hasta 4294967295 por lo que -1 no estaria dentro de dicho rango . Una solución sería declarar Count1 como Integer, pero creo que el problema debe ser resuelto mas a fondo ya que ese RecordCount te debe estar devolviendo -1 y quiza no sea lo que esperas.
__________________
Lecciones de mi Madre. Tema: modificación del comportamiento, "Pará de actuar como tu padre!"

http://www.purodelphi.com/
http://www.nosolodelphi.com/
Responder Con Cita
  #3  
Antiguo 16-10-2007
Avatar de thelibmx
thelibmx thelibmx is offline
Miembro
 
Registrado: mar 2007
Posts: 515
Poder: 18
thelibmx Va por buen camino
en efecto si devuelve -1, no se por que, algun problema en la consulta de esas inexplicables paranormales de otro mundo, probablemente es de la ciencia paranormal de la informatica, en fin lo cambie a integer el cardinal y la la linea quedo asi
Código Delphi [-]
Count1:=fs.Query_catalogo_quincenasmod.RowsAffected;

asi hace lo que quiero, aunque no se cuales sean los probables efectos secundarios, pero hasta ahorita todo bien. gracias por la ayuda y hay que dejar bien en claro que:
Código SQL [-]
el mensaje de error que manda es por que en efecto regresaba de valor -1
bueno quiero suponer que fue eso... gracias jhonny
__________________
En movimiento...
Responder Con Cita
  #4  
Antiguo 16-10-2007
Avatar de jhonny
jhonny jhonny is offline
Jhonny Suárez
 
Registrado: may 2003
Ubicación: Colombia
Posts: 7.058
Poder: 29
jhonny Va camino a la famajhonny Va camino a la fama
No quieras suponer que es eso, ya es seguro que a sido eso, debido a que -1 no esta dentro del rango de los Cardinales, hay que anotar que el RecordCount no funciona con todos los hijos del TDataSet, quizá esa sea la razón por la que te devuelve siempre -1 .
__________________
Lecciones de mi Madre. Tema: modificación del comportamiento, "Pará de actuar como tu padre!"

http://www.purodelphi.com/
http://www.nosolodelphi.com/
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Error en Acces CHECK validacion JuanHC Tablas planas 0 07-03-2007 20:07:17
Range check error al ejecutar la aplicacion AdrianD Firebird e Interbase 4 12-11-2005 05:50:12
Range Error DarkFilter Varios 3 02-02-2004 17:07:31
Error Internal gds software consistency check (can´t continue after bugcheck)" en XP murci Firebird e Interbase 6 04-08-2003 08:49:59
Error gds consistency check... no se que judoboy Firebird e Interbase 12 31-07-2003 19:13:33


La franja horaria es GMT +2. Ahora son las 19:31:12.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi