Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Conexión con bases de datos (https://www.clubdelphi.com/foros/forumdisplay.php?f=2)
-   -   capacidad del tquery? (https://www.clubdelphi.com/foros/showthread.php?t=68152)

nextor 27-05-2010 17:54:05

capacidad del tquery?
 
Hola de nuevo amigos del mejor foro de delphi!!

Primera mente quiero agradecer por toda su ayuda, ya que por medio de esta pagina he solucionado muchos problemas.

pero mi problema es el siguiente: en un proyecto de delphi tengo un form con los siguientes componentes:
Código Delphi [-]
  Table1: TTable;
    Table2: TTable;
    Database1: TDatabase;
    Database2: TDatabase;
    Button1: TButton;
    Query1: TQuery;
    Query2: TQuery;
lo que estoy tratando de hacer es que de una base de datos pasar datos de una tabla a otra base de datos mediante un querys
algo asi:
Código Delphi [-]
 
procedure TForm1.Button1Click(Sender: TObject);
var cont:integer;
begin
cont:=0;
showmessage('iniciado');
with database2 do
  begin
    Close;
    Open;
  end;
with query2 do
  BEGIN
    close;
    SQL.Text:='select * from vw_movimientos';
    open;
    first;
    database1.Close;
    database1.Open;
    showmessage(IntToStr(RecordCount));
    for cont:=0 to RecordCount -1 do
    begin
      query1.Close;
      query1.SQL.Text:='insert into vw_movimientos(fecha) values (''' +fields[0].AsString + ''') ';
      query1.ExecSQL;
      query1.Close;
      query2.Next;
    end;
    database1.Close;
    close;
  end ;
 showmessage('finalizado');
end;
pero solo me copia 65,904 registros de 2,300,000 alguien tiene idea de por que pasa esto?

Gracias

elarys 27-05-2010 19:07:12

que base de datos estas usando

igual echale un ojo a esto
http://www.google.com.ar/#hl=es&q=+s...2c21fd806ac625

Casimiro Notevi 27-05-2010 20:00:56

Si no encuentras la solución en los enlaces que ha indicado elarys, entonces danos más información y procuraremos ayudarte, aunque en principio veo varias cosas "raras" en tu código.

nextor 27-05-2010 22:15:02

Gracias
 
gracias por responder

estoy utilizando el ms sql server y mysql, estoy pasando datos de mysql a sql server

Gracias de nuevo

Faust 28-05-2010 01:10:13

Saludos, he estado viendo tu código y para recorrer tu tabla origen sería mejor hacer un while, te incluyo un ejemplo:

Código Delphi [-]
procedure TForm1.Button1Click(Sender: TObject);
var cont:integer;
begin
cont:=0;
showmessage('iniciado');
with database2 do
  begin
    Close;
    Open;
  end;
with query2 do
  BEGIN
    close;
    SQL.Text:='select * from vw_movimientos';
    open;
    first;
    database1.Close;
    database1.Open;
    showmessage(IntToStr(RecordCount));
{    for cont:=0 to RecordCount -1 do
    begin
      query1.Close;
      query1.SQL.Text:='insert into vw_movimientos(fecha) values (''' +fields[0].AsString + ''') ';
      query1.ExecSQL;
      query1.Close;
      query2.Next;
    end;
}
    
    while not Eof do
    begin
      query1.Close;
      query1.SQL.Text:='insert into vw_movimientos(fecha) values (''' +fields[0].AsString + ''') ';
      query1.ExecSQL;
      query1.Close;
      Next
    end;
    
    database1.Close;
    close;
  end ;
 showmessage('finalizado');
end;

Y así no te limita ni el conteo... inténtalo y nos cuentas.


La franja horaria es GMT +2. Ahora son las 12:41: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