FoxPro/Visual FoxPro - Error al bajar a Mysql

 
Vista:

Error al bajar a Mysql

Publicado por LoLy (6 intervenciones) el 17/09/2010 18:29:51
Hola buenos dias.. exportar una DBF a una tabla de Mysql ya realice la conexión pero al iniciar el bucle me dice que hay un error en la construccion del contenido de los campos en la variable... este es mi codigo...

CLOSE TABLES all
DO conectar &&Llama a la conexión

PUBLIC lcodebar, larticulo, lentradas, lsalidas, lexistencia, lpreciosiniva, liva, lprecioconiva,;
lprecioventa, lpreciocredito, llinea, limage, ledo, STRSQL,X

SELECT * FROM ARTICULOS INTO CURSOR PASAR
SELECT pasar
GO top
**** ir al principio del cursor...
DO WHILE !EOF()
*** asignar contenidos del cursor en variables
lcodebar=ALLTRIM(CodeBar)
larticulo=ALLTRIM(Articulo)
lentradas=Entradas
lsalidas=Salidas
lexistencia=Existencia
lpreciosiniva=preciosini
liva=iva
lprecioconiva=precioconi
lprecioventa=preciovent
lpreciocredito=preciocred
llinea=linea
limage=Alltr(image)
ledo=edo
*** en este: strsql me da un error
strsql="INSERT INTO articulos(codebar, articulo, entradas, salidas, existencia, preciosiniva, iva, precioconiva, precioventa, Preciocredito, linea, image, edo) VALUES (?lcodebar, ?larticulo, ?lentradas, ?lsalidas, ?lexistencia, ?lpreciosiniva, ?liva, ?lprecioconiva, ?lprecioventa, ?lpreciocredito, ?llinea, ?limage, ?ledo)"
TRY
sqlexec(Con, strsql)
SKIP
X=X+1
?X
EndTry
ENDDO

A ver que es lo que tengo mal..??
Gracias Amigos...
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Error al bajar a Mysql

Publicado por alexcoinc (450 intervenciones) el 17/09/2010 19:14:27
puede ser que te falte..algo asi:

lcodebar=ALLTRIM(pasar.CodeBar)
larticulo=ALLTRIM(pasar.Articulo)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Error al bajar a Mysql

Publicado por xx (378 intervenciones) el 17/09/2010 19:29:41
Debes componer la cadena asi: (todo lo que esta despues del VALUES debes rever)

"VALUES ('" + lcodebar+"','"+larticulo+"','"+lentradas .... +"');"

o sea: debes formar una cadena asi si por ejemplo tienes un campo cadena y otro numerico
"VALUES ( 'campo tipo caracter', 123 );"

y no olvidarse el ";" al final de la sentencia
Postea de nuevo si no comprendes!!
Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Error al bajar a Mysql

Publicado por ACM (162 intervenciones) el 17/09/2010 23:15:12
Hola Loly

Lo mas probable es que este superando los 254 caracter en el string

strsql="INSERT INTO articulos(codebar, articulo, entradas, salidas, existencia, preciosiniva, iva, precioconiva, precioventa, Preciocredito, linea, image, edo) VALUES (?lcodebar, ?larticulo, ?lentradas, ?lsalidas, ?lexistencia, ?lpreciosiniva, ?liva, ?lprecioconiva, ?lprecioventa, ?lpreciocredito, ?llinea, ?limage, ?ledo)"

solucion

strsql="INSERT INTO articulos(codebar, articulo, entradas, salidas, existencia, preciosiniva, iva, precioconiva, precioventa, Preciocredito, linea,";+
"image, edo) VALUES (?lcodebar, ?larticulo, ?lentradas, ?lsalidas, ?lexistencia, ?reciosiniva, ?liva, ?lprecioconiva, ?lprecioventa, ?lpreciocredito, ?llinea, ?limage, ?ledo)"

&& preciosiniva, iva, precioconiva, precioventa, Preciocredito, linea,";+

Si te das cuenta en esta linea corte la cadena en linea,";+ y la de abajo la encerre entre comilla para seguir sumando el string

Saludos

Acm.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Error al bajar a Mysql

Publicado por ACM (162 intervenciones) el 17/09/2010 23:55:05
Hola Loly

Hay si

strsql="INSERT INTO articulos(codebar, articulo, entradas, salidas, existencia, preciosiniva, iva, precioconiva, precioventa, Preciocredito, linea,"+;
"image, edo) VALUES (?lcodebar, ?larticulo, ?lentradas, ?lsalidas, ?lexistencia, ?reciosiniva, ?liva, ?lprecioconiva, ?lprecioventa, ?lpreciocredito, ?llinea, ?limage, ?ledo)"

antes linea,";+

ahora linea,"+;

Acm.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar