FoxPro/Visual FoxPro - Strsql Mysql Vfp

   
Vista:

Strsql Mysql Vfp

Publicado por Roberto (33 intervenciones) el 02/06/2010 19:43:09
Hola amigos disculpen la molestia, pero como comprenderan estoy aprendiendo a usar Mysql con Vfp, asi es que tengo problemas que e ido resolviendo gracias a ustedes y al Internet.

El problema que tengo es que la linea que estoy grabando me da error al parecer por la longitud de la linea, al parecer se soluciona con StrSql, pero no encuentro una explicacion detallada como para poder utilizarla...

Esta es la linea que da error

=SQLEXEC(lnHandle,"INSERT INTO TABLA01 (campo1,campo2,campo3,campo4,campo5,campo6,campo7,campo8,campo9,campo10,campo11,campo12,campo13,campo14,campo15,campo16,campo17,campo18) values (?variabl1,?variabl2,?variabl3,?variabl4,?variabl5,?variabl6,?variabl7,?variabl8,?variabl9,?variabl10,?variabl11,?variabl12,?variabl13,?variabl14,?variabl15,?variabl16,?variabl17,?variabl18)")
*
la reemplaze por estas lineas pero me sigue dando error

srtsql="INSERT INTO tabla01 (campo1,campo2,campo3,campo4,campo5,campo6,campo7,campo8,campo9,"
srtsql=srtsql &"campo11,campo12,campo13,campo14,campo15,campo16,campo17,campo18)"
srtsql=srtsql & "values (?variabl1,?variabl2,?variabl3,?variabl4,?variabl5,"
srtsql=srtsql & "?variabl6,?variabl7,?variabl8,?variabl9,?variabl10,?variabl11,?variabl12,"
srtsql=srtsql & "?variabl13,?variabl14,?variabl15,?variabl16,?variabl17,?variabl18)"

Sale "Error de Sintaxis",
En a partir de la segunda linea (srtsql=srtsql &"campo11,campo12....)

por favor si alquien me pudiera ayudar se los agradeceria.... 1000Gracias
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

Strsql Mysql Vfp

Publicado por Roberto (33 intervenciones) el 02/06/2010 19:43:09
Hola amigos disculpen la molestia, pero como comprenderan estoy aprendiendo a usar Mysql con Vfp, asi es que tengo problemas que e ido resolviendo gracias a ustedes y al Internet.

El problema que tengo es que la linea que estoy grabando me da error al parecer por la longitud de la linea, al parecer se soluciona con StrSql, pero no encuentro una explicacion detallada como para poder utilizarla...

Esta es la linea que da error

=SQLEXEC(lnHandle,"INSERT INTO TABLA01 (campo1,campo2,campo3,campo4,campo5,campo6,campo7,campo8,campo9,campo10,campo11,campo12,campo13,campo14,campo15,campo16,campo17,campo18) values (?variabl1,?variabl2,?variabl3,?variabl4,?variabl5,?variabl6,?variabl7,?variabl8,?variabl9,?variabl10,?variabl11,?variabl12,?variabl13,?variabl14,?variabl15,?variabl16,?variabl17,?variabl18)")
*
la reemplaze por estas lineas pero me sigue dando error

srtsql="INSERT INTO tabla01 (campo1,campo2,campo3,campo4,campo5,campo6,campo7,campo8,campo9,"
srtsql=srtsql &"campo11,campo12,campo13,campo14,campo15,campo16,campo17,campo18)"
srtsql=srtsql & "values (?variabl1,?variabl2,?variabl3,?variabl4,?variabl5,"
srtsql=srtsql & "?variabl6,?variabl7,?variabl8,?variabl9,?variabl10,?variabl11,?variabl12,"
srtsql=srtsql & "?variabl13,?variabl14,?variabl15,?variabl16,?variabl17,?variabl18)"

Sale "Error de Sintaxis",
En a partir de la segunda linea (srtsql=srtsql &"campo11,campo12....)

por favor si alquien me pudiera ayudar se los agradeceria.... 1000Gracias
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:Strsql Mysql Vfp

Publicado por Juanma Cruz (508 intervenciones) el 02/06/2010 20:16:21
En tu primer intento, la longitud de la línea es excesiva.

En el segundo intento, recuerda que no puedes usar el caracter & para concatenar. En Visual Fox debes usar el + (simbolo de suma)

Para cadena tan largas, yo te recomendaria que uses

TEXTO TO srtsql TEXTMERGE NOSHOW PRETEXT 7

INSERT INTO tabla01
(campo1,campo2,campo3,campo4,campo5,campo6,campo7,campo8,campo9,
campo11,campo12,campo13,campo14,campo15,campo16,campo17,campo18)
values
(?variabl1,?variabl2,?variabl3,?variabl4,?variabl5,
?variabl6,?variabl7,?variabl8,?variabl9,?variabl10,?variabl11,?variabl12,
?variabl13,?variabl14,?variabl15,?variabl16,?variabl17,?variabl18)

ENDTEXT

Los bloques de texto con sustituión de valores son muy útiles en estos casos.

Saludos y buena suerte.

PD/ ¿Poner un símbolo de "?" delante del parámetro funciona en SQL Pass-through? Nunca lo había probado.
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

Ok, Solucionado Gracias

Publicado por Roberto (33 intervenciones) el 02/06/2010 22:42:11
Gracias, por el consejo, lo solucione de la sgte: forma

strsql= "INSERT INTO tabla1 (campo1,campo2,campo3,campo4,campo5,"
strsql= strsql +"campo6 ,campo7,campo8,campo9,campo10,campo11,"
strsql= strsql +"campo12,campo13,campo14,campo15,campo16,campo17,)"
strsql= strsql +"campo18)"
strsql= strsql + "Values (?variabl1,?variabl2,?variabl3,?variabl4,?variabl5,"
strsql= strsql + "?variabl6,?variabl7,?variabl8,?variabl9,?variabl10,"
strsql= strsql + "?variabl11,?variabl12,?variabl13,?variabl14,?variabl15,"
strsql= strsql + "?variabl16,?variabl17,?variabl18)"
*
=SQLEXEC(lnHandle,strsql)

1000 gracias, y disculpen si los vuelvo a molestar.... Gracias
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