Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Conexión con bases de datos
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Conexión con bases de datos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 17-08-2010
MikyVato MikyVato is offline
Miembro
 
Registrado: mar 2005
Posts: 39
Poder: 0
MikyVato Va por buen camino
Exclamation

comparto el codigo quizas puedan encontrar el hueco.

Primero obtengo los datos usando un Query que se conecta localmente
Código Delphi [-]
 QPrincipal.Active := False; 
 QPrincipal.SQL.Clear; 
 QPrincipal.SQL.Text := 'select * from historico_avl_1008 where ORDER_ID > '''+idlocal+'''';
 QPrincipal.Active := True;

Despues asigno los valores obtenidos a los string
Código Delphi [-]
while (not QPrincipal.Eof) do
  begin
    v1 := QPrincipal.Fields[0].AsString;
    v2 := QPrincipal.Fields[1].AsString;
    v3 := QPrincipal.Fields[2].AsString;
       .    
       .
       .
    v24 := QPrincipal.Fields[23].AsString;

// Hago el Insert Remoto
QInsercion.SQL.Clear;
QInsercion.SQL.Add ('INSERT INTO `TablaRemota`');
QInsercion.SQL.Add ('(Campos de la Tabla');
QInsercion.SQL.Add ('VALUES  ('''+v1+''','''+v2+''','''+v3+'''...'''+v24+'''');
try
  QInsercion.ExecSQL;
except
   LError.Caption := 'No se Subieron Datos!!!';
end;
QPrincipal.Next;
end;

Bueno espero sirva de algo....
Responder Con Cita
  #2  
Antiguo 17-08-2010
Avatar de Al González
[Al González] Al González is offline
In .pas since 1991
 
Registrado: may 2003
Posts: 5.604
Poder: 30
Al González Es un diamante en brutoAl González Es un diamante en brutoAl González Es un diamante en brutoAl González Es un diamante en bruto
Pues así, de bote pronto, es como si QPrincipal no tuviera más de 15 campos. ¿En qué línea del programa se detiene al aparecer el error?
Responder Con Cita
  #3  
Antiguo 17-08-2010
MikyVato MikyVato is offline
Miembro
 
Registrado: mar 2005
Posts: 39
Poder: 0
MikyVato Va por buen camino
El error aparace en la linea v15 := QPrincipal.Fields[14].AsString; realmente no entiendo porque estaba funcionando, intente usando 2 Query supuse que quizas sea un problema de memoria o algo asi pero no igual da el error, pero si coloco hasta 14 items cualquiera sea anda de LUX... Espero su ayuda realmente me esta sacando este problema
Responder Con Cita
  #4  
Antiguo 17-08-2010
Avatar de Al González
[Al González] Al González is offline
In .pas since 1991
 
Registrado: may 2003
Posts: 5.604
Poder: 30
Al González Es un diamante en brutoAl González Es un diamante en brutoAl González Es un diamante en brutoAl González Es un diamante en bruto
¿Cambiaste de base de datos o algo así? ¿Seguro que se trata de la misma tabla que cuando funcionaba bien?

¿Por qué no lo haces con una rejilla DBGrid asociada a esa consulta (sin definirle columnas a la rejilla) y miras cuántos campos se muestran realmente?
Responder Con Cita
  #5  
Antiguo 17-08-2010
MikyVato MikyVato is offline
Miembro
 
Registrado: mar 2005
Posts: 39
Poder: 0
MikyVato Va por buen camino
segui tu concejo coloque el DBGrid y me estan faltando columnas cuando el Select que estoy arrojando tiene * esto me ha dejado desconcertado totalmente.... comparo el DBGrid directamente con la DB y me están faltando campos en el DBGrid no lo entiendo??????

Última edición por MikyVato fecha: 17-08-2010 a las 07:01:08.
Responder Con Cita
  #6  
Antiguo 17-08-2010
Avatar de ElDioni
[ElDioni] ElDioni is offline
Miembro Premium
 
Registrado: jul 2005
Ubicación: Murcia (España)
Posts: 935
Poder: 19
ElDioni Va por buen camino
He visto que has abierto otro hilo con el mismo tema en conexiones de base de datos, ese seguramente te lo cierren porque no se pueden crear hilos con la misma cuestión.
Yo creo que el error es lo que te comenta AlGonzalez, la tabla a la que estás accediendo no tiene más de 15 fields, te lo digo porque a mi me ha pasado a veces de hacer una copia de la bbdd para no tocar la original, hacerle cambios a la copia y cuando apunto a la original me sale el error porque la original no lleva los campos nuevos.
¿Porque no pruebas con la propiedad fielcount a ver si te sigue dando error en lugar de poner tu el número de fields a mano?

Un salduo.
Responder Con Cita
  #7  
Antiguo 17-08-2010
MikyVato MikyVato is offline
Miembro
 
Registrado: mar 2005
Posts: 39
Poder: 0
MikyVato Va por buen camino
En realidad ya he chquedo lo que propones, la Tabla tiene 24 campos pero al hacer el SELECT * solo muestra 15 de esos campos en el BGRID... La verdad estoy que no se que hacer lo único que se me ocurre es que puede ser un problema en el conector ODBC
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

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 list index out of bounds bothy Varios 2 16-04-2010 10:00:19
Error (List Index of bounds)? DM2005 Varios 2 08-07-2006 12:53:29
Error List index out of bounds (14) AMINOA2R Firebird e Interbase 3 30-09-2005 00:32:57
Error: List Index Out Bounds() MasterXP SQL 4 18-02-2005 06:41:06


La franja horaria es GMT +2. Ahora son las 12:18:04.


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