Ver Mensaje Individual
  #10  
Antiguo 18-08-2010
MikyVato MikyVato is offline
Miembro
 
Registrado: mar 2005
Posts: 39
Reputación: 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