Reemplazo de Append from para usar con MySql

417 views
Skip to first unread message

pablo b(La Pampa)

unread,
Aug 10, 2011, 8:42:45 PM8/10/11
to Comunidad de Visual Foxpro en Español
Hola Amigos del foro, estoy empezando una nueva aplicacion con VFP y
MySql, ya hace un tiempito que le vengo llevando y he avanzado con los
form iniciales de carga de datos como ser vendedores, clientes,
etc,etc.
El tema en cuestion ahora es en la carga del stock, antiguamente en
vfp la hacia creando un cursor temporal en el cual cargo todos los
articulos y cuando ya estaba seguro que estaba todo bien le daba al
boton de aceptar y despues mediante el comando append from pasaba
todos los datos del cursor temporal a la tabla dbf real, ¿me explico?,
bueno ahora quiero hacer lo mismo es Mysql pero el append from se ve
que no funciona para guardar los datos asi en una bd de mysql.¿mi
pregunta es como se hace para pasar todo un cursor entero lleno de
datos a la bd que contiene a la tabla que yo le quiero cargar los
datos del cursor???.
La alterntiva que iba a usar era un do while con un insert into dentro
del bucle y un skip al final para que mientras recorre la tabla va
pasando y grabando los datos, pero se me hace que va a ser lento??

Alguna idea o sugerencia de como hacer???

Muchas gracias

Pablo

panchimancuso

unread,
Aug 10, 2011, 10:37:07 PM8/10/11
to Comunidad de Visual Foxpro en Español
COMO ANDAS PABLO ,estuve viendo el demo del amigo walter valiente y lo
que deberias hacer es recorrer con un scan la tabla temporal y
asignarle a cada registro sus variables , despues debes de usar un
insert into ... por cada registro, me explico , y ese proceso debe de
ser rapidisimo , pruebalo y me comentas , yo estoy medio alejado de
mysql porque tengo bastante trabajo con unos sistemas a los cuales me
han pedidos varias reformas , y no me dan los tiempos , pero ya
volvere a arrancar con mysql , ya tenemos bastante aprendido ,
conectar , desconectar , insertar , borrar y modificar datos , es un
punto muy importante , lo otro viene con la practica y rompida de
coco , jeje
saludos y nos mantenemos en contacto como siempre.
alberto
www.cadiel.com.ar

OMAR ROJAS

unread,
Aug 10, 2011, 11:01:46 PM8/10/11
to Comunidad de Visual Foxpro en Español
Efectivamente la unica forma que conozco es:

un do while con un insert into dentro
del bucle y un skip al final para que mientras recorre la tabla va
pasando y grabando los datos, pero se me hace que va a ser lento??

salvo claro que en lugar de guardar tus datos temporales en un cursor
local DBF lo hagas en una tabla temporal alojada en mysql que
no creo sea conveniente, para nada va a caer la velocidad haz la
prueba y veras, si la cantidad de registro es excesiva o sea varios
miles de registros podrias crear
un archivo de texto a partir de tu cursor y usar el comando LOAD de
mysql para ingresar los nuevos registros

Saludos


Guillermo MDQ

unread,
Aug 10, 2011, 11:25:14 PM8/10/11
to Comunidad de Visual Foxpro en Español
Y no te sirve la instruccion INSERT SELECT ?

Insertas con un solo INSERT desde un SELECT de tu tabla temporal.

Saludos
Guillermo

Carlos Miguel FARIAS

unread,
Aug 11, 2011, 7:06:24 AM8/11/11
to publice...@googlegroups.com
En MySQL se puede hacer un insert into (campos) values ( datos registro 1 ),( datos registro 2 ),( datos registro 3 ),( datos registro 4 ),
que podes generar si usas un sqlpassthru
Lo que puedas hacer va depender como estas conectado a la bd (sql passthru, vista remotas, cursor adapter). Eso es lo primero que debes indicarnos
Saldudos: Miguel (La Pampa too)

panchimancuso

unread,
Aug 11, 2011, 7:59:39 AM8/11/11
to Comunidad de Visual Foxpro en Español
PABLO proba el insert into ...... select , esa no la sabia , un buen
dato de nuestro colega deberia de ser rapido , probalo y contame como
te fue , yo ando a full con las reformas de mi sistema gestion
comercial.
saludos

On 10 ago, 21:42, "pablo b(La Pampa)" <panchot...@gmail.com> wrote:
Reply all
Reply to author
Forward
0 new messages