Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   SQL (https://www.clubdelphi.com/foros/forumdisplay.php?f=6)
-   -   Mas dudas para generar un Script MySQL (https://www.clubdelphi.com/foros/showthread.php?t=18364)

bustio 10-02-2005 02:27:41

Mas dudas para generar un Script MySQL
 
HOla:
Pues resulta que estoy enfrascado en crear un Procedure en delphi que me genere un Script donde con el pueda hacerle un export a mi BD MySQL. La idea es que desde mi aplicacion delphi pueda hacer este export, igual que el que genera el MySQL.
Ya logro crear la estructura de las tablas y de la BD en general.. ahora lo que me falta es poder crear la sentencia:

Código SQL [-]
INSERT INTO tabla ('Field1','Fiel2'..'Fieldn') VALUES (valor1,valor2..valorN)

Para ello pense en la posibilidad de poder tomar de la tabla una tupla completa.. o sea, hacer un SELECT..... pero que me devuelva las tuplas por orden; es decir, que dentro de un ciclo de alguna manera pueda yo en mi consulta obtener la primera fila, luego la segunda, y asi en adelante.
Luego, con cada una de las tuplas por separado puedo mediante el FieldByName('NOMBRE') de mi DataSource.DataSet obtener cada uno de los valores que quiero poner en mi Script. Lo unico es que no se como poder obtener las filas por separado y en el orden que pense. Alguien podria indicarme por donde trabajar????

Esto es un algoritmo que se me acaba de ocurrir, no lo he probado a fondo. Asi qeu acepto cualquier sugerencia o cualquier mejora.

Gracias..

LAzaro Bustio Martinez.

roman 10-02-2005 03:44:32

No entiendo cuál es tu duda. Ya tienes toda la idea. El orden en que obtengas los campos será el orden que establezcas en la sentencia SELECT.

Debes recorrer en un ciclo los resultados de la consulta y generar una línea como la que pones. Antes de comenzar el ciclo usa el arreglo Fields del dataset para obtener los nombres de los campos y así formar la parte "fija" de la cadena:

INSERT INTO tabla ('Field1','Fiel2'..'Fieldn') VALUES (

y e cada paso del ciclo usas igualmente Fields para obetner los valores del registro en turno y formar la parte variable de la cadena:

valor1,valor2..valorN)

// Saludos


La franja horaria es GMT +2. Ahora son las 20:36:52.

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