Club Delphi  
    Paypal   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
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
  #2  
Antiguo 17-08-2010
Avatar de Caro
*Caro* Caro is offline
Moderadora
 
Registrado: jul 2004
Ubicación: Cochabamba, Bolivia
Posts: 2.544
Poder: 25
Caro Va por buen camino
Hola MikyVato, revisa si no tienes campos persistentes (docle click sobre tu Query), si los tienes puede que solo tengas 15 campos ahí y aunque hagas el "Select * From....", al tenerlos como persistentes solo te va a reconocer los que tengas como persistentes.

Y no repitas hilos por favor.

Saluditos
__________________
Disfruten cada minuto de su vida a lado de sus seres queridos como si fuese el ultimo, uno nunca sabe lo que puede pasar.
Responder Con Cita
  #3  
Antiguo 18-08-2010
MikyVato MikyVato is offline
Miembro
 
Registrado: mar 2005
Posts: 39
Poder: 0
MikyVato Va por buen camino
Smile Solucionado

Bueno Bueno ya encontre el Problema estaba utilizando MySQL ODBC 5.1 Drivers para crear los ODBC instale una version anterior la 3.1 y ya se puede leer toda la DB el porque no lo se si alguien se entera me avisa... Les pido disculpas por haber creado dos hilos pero en ocasiones uno pierde la calma por la falta de soluciónes... Bueno ahora a pagar mi deuda dejo el código de lo que estuve armando hasta el momento

Componentes que utilizo:
From - 3 BitBotton - 1 Edit - 1 DBGrid - 3 Query - 1 DataSource - 2 DataBase y algunos Label donde muestro algo de info...

Código Delphi [-]
//Saco el tiempo asignado por defecto en el Timer y lo muestro en Edit
procedure TForm1.FormCreate(Sender: TObject);
var
  aux :integer;
begin
  aux := (Intervalos.Interval) div 1000;
  ETiempo.Text := IntToStr(aux);
end;

//Pregunto si esta seguro que desea salir
procedure TForm1.BitBtn1Click(Sender: TObject);
begin
  if MessageDlg ('Desea Salir del Sistema?',mtConfirmation,[mbYes,mbNo],0)=mrYes then
     Close;
end;

//Botón replicar copia los datos de modo local y los envía a internet
procedure TForm1.BBReplicarClick(Sender: TObject);
var
  idlocal, v2, v3, v4, v5, v6, v7, v8, v9, v10 :string;
  v11, v12, v13, v14, v15, v16, v17, v18, v19 :string;
  v20, v21, v22, v23, v24 :string;
begin
  //obtengo el ultimo ID da la tabla externa
      QidExterno.Active := False;
      QidExterno.SQL.Clear;
      QidExterno.SQL.Text := 'select * from TablaRemota order by ORDER_ID desc';
      try
        QidExterno.Active := True;
        idlocal := QidExterno.Fields[0].AsString;
      except
        LTiempo.Caption := 'Error para obtener ID ServerWeb!!';
      end;
     
      //obtengo los registros pendientes de subir de la Tabla Local
        QPrincipal.Active := False;
        QPrincipal.SQL.Clear;
        QPrincipal.SQL.Text := 'select * from TablaLocal where ORDER_ID > '+idlocal+'';
        QPrincipal.Active := True;
        //Estos datos son visibles en el DBGrid

        while (not QPrincipal.Eof) do
          begin
            idlocal := QPrincipal.Fields[0].AsString;
            v2 := QPrincipal.Fields[1].AsString;
            v3 := QPrincipal.Fields[2].AsString;
            v4 := QPrincipal.Fields[3].AsString;
            v5 := QPrincipal.Fields[4].AsString;
            v6 := QPrincipal.Fields[5].AsString;
            v7 := QPrincipal.Fields[6].AsString;
            v8 := QPrincipal.Fields[7].AsString;
            v9 := QPrincipal.Fields[8].AsString;
            v10 := QPrincipal.Fields[9].AsString;
            v11 := QPrincipal.Fields[10].AsString;
            v12 := QPrincipal.Fields[11].AsString;
            v13 := QPrincipal.Fields[12].AsString;
            v14 := QPrincipal.Fields[13].AsString;
            v15 := QPrincipal.Fields[14].AsString;
            v16 := QPrincipal.Fields[15].AsString;
            v17 := QPrincipal.Fields[16].AsString;
            v18 := QPrincipal.Fields[17].AsString;
            v19 := QPrincipal.Fields[18].AsString;
            v20 := QPrincipal.Fields[19].AsString;
            v21 := QPrincipal.Fields[20].AsString;
            v22 := QPrincipal.Fields[21].AsString;
            v23 := QPrincipal.Fields[22].AsString;
            v24 := QPrincipal.Fields[23].AsString;
              QInsercion.SQL.Clear;
              QInsercion.SQL.Add ('INSERT INTO `TablaRemota`');
              QInsercion.SQL.Add ('(Campos de una Tabla)');
              QInsercion.SQL.Add ('VALUES ('''+idlocal+''','''+v2+''','''+v3+''',....'''+v24+''',');
            try
              QInsercion.ExecSQL; 
              LTiempo.Caption := ' '+DateToStr (Date)+'  '+TimeToStr (Time)+'';
            except
              LTiempo.Caption := 'No se Subieron Datos!!!';
            end;
              QPrincipal.Next;
          end;
end;

//Evento del Timer que llama al Boton Replicar
procedure TForm1.IntervalosTimer(Sender: TObject);
begin
  BBReplicar.Click;
end;

//Controla que solo pueda ingresar numeros en Edit que modifica Timer
procedure TForm1.ETiempoKeyPress(Sender: TObject; var Key: Char);
begin
   if not (Key in ['0'..'9',#8]) then
     Key :=#0
end;

//Cdo modifico el tiempo del Timer
procedure TForm1.SpeedButton1Click(Sender: TObject);
begin
  if StrToInt (ETiempo.Text) > 5 then
    begin
      Intervalos.Interval := StrToInt(ETiempo.Text) * 1000;
      ShowMessage('Se modifico el tiempo correctamente');
    end
  else
    ShowMessage('Debe Ingresar un valor mayor a 5!!!')
end;

procedure TForm1.ETiempoEnter(Sender: TObject);
begin
  ETiempo.Text := '';
end;


Ahora solo me falta crear un isntalador para la aplicacion que debe crear los ODBC y copiar los archivos necesarios para que la Aplicacion funcione sin la necesidad de que instale Delphi en la maquina que la verdad no tengo idea de como hacerlo pero eso es otro Hilo que ya vendra pronto pronto... por ahora gracias y muchas x su ayuda...
Responder Con Cita
  #4  
Antiguo 18-08-2010
Avatar de movorack
[movorack] movorack is offline
Miguel A. Valero
 
Registrado: feb 2007
Ubicación: Bogotá - Colombia
Posts: 1.346
Poder: 22
movorack Va camino a la famamovorack Va camino a la fama
no he seguido el hilo, solo leí tu ultimo mensaje... y veo que estás trabajando con ODBC, que no es malo, pero teninendo librerias de acceso directo a MySQL como Zeos creo que podrias planteartelo como alternativa.

saludos y buena por haber compatido tu solución.
__________________
Buena caza y buen remar... http://mivaler.blogspot.com
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 19:54:39.


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