PDA

Ver la Versión Completa : ayuda con b.d.


jovehe
20-04-2004, 01:55:45
como estan todos
espero que bien
escribo para ver si me podrian ayudar lo que pasa es que en esto de la programacion soy un tanto inexperto el problema es este yo necesito obtener los datos de una tabla para insertarlos en otra pero validando un rango de numeros por ejemplo digamos que quiero copiar solo unos cuantos registros validando por el numero de cd dando un numero de cd inicial y numero de cd final y que a partir de ese rango me copie los datos.
espero mi pregunta sea clara y ojala me puedan ayudar gracias por su atencion.
:D

roman
20-04-2004, 02:11:55
No sabiendo qué tipo de base de datos usas ni la estructura de tus tablas es difícil dar una respuesta acertada pero podrías intentar algo así:

Utiliza un TQuery para hacer una consulta SQL que te devuelva sólo los registros deseados:


select * from discos where numero_cd >= :primero and numero_cd <= ultimo


Esoy suponiendo que tu tabla se llam "discos" y que "numero_cd" es el nombre del campo que tiene el número de cd.

En esta consulta, prmero y ultimo serán parámetros (indicado por los dos puntos ":" anteriores). Cada vez que quieras copiar los registros estableces el rango llenando los parámetros:


Query.ParamByName('primero').AsInteger := primer número
Query.ParamByName('ultimo').AsInteger := último número

Query.Open;


Con esto, en Query tendrás todos los registros cuyo número de cd va del primero al último.

Para copiarlos a la otra tabla sólo tienes que recorrer el query con un ciclo:


Query.First;
while not Query.Eof do
begin
Tabla.Append;
Tabla.FieldByName('numero_cd').AsInteger := Query.FieldByName('numero_cd').AsInteger;

// aquí copias otros campos

Query.Next;
end;


// Saludos

jovehe
20-04-2004, 17:18:06
que tal gracias por tu respuesta tan rapida.

efectivamente olvide poner que el tipo de tablas son paradox y una molestia mas si es que se puede ;los parametros de primero y ultimo como los podria comparar con un edit ya que en la aplicacion lo que se tiene que escribir es el numero de cd inicial y numero de cd final dentro de dos edit respectivamente.

y despues solo el boton para que me copie los registros.

gracias
jorge

roman
20-04-2004, 17:27:08
No entiendo que quieres decir con comparar. Para llenar los parámetros a partir de los valores de un Edit tienes primero que convertir a entero:

Query.ParamByName('primero').AsInteger := StrToInt(Edit1.Text);

o bien usar AsString en lugar de AsInteger para que sea el Query quien haga la conversión:

Query.ParamByName('primero').AsString := Edit1.Text;

// Saludos

jovehe
29-04-2004, 02:23:02
roman muchas gracias por la ayuda y la respuesta tan rapida que le diste a mi problema espero mas adelante poder aportar algo para el club.

att
jorge