VFP Ayuda con TEXT TO... ENDTEXT

4,653 views
Skip to first unread message

Fox Reloaded

unread,
Jun 7, 2012, 5:26:10 PM6/7/12
to Comunidad de Visual Foxpro en Español
Hola amigos Foxeros®, voy al grano como siempre.


Tengo este código en una instrucción TEXT TO... ENDTEXT
Lo que quiero saber es como hacer para que reconozca mediante el
driver ODBC que es una transacción a MySQL y que no de errores de
sintaxis.
Antes que nada la transacción no tiene errores de sintaxis porque ya
la ejecute en el servidor MySQL exitosamente.

Gracias por la colaboración recibida.

Un abrazo.

Christian Torres.
Venezuela.

Fox Reloaded

unread,
Jun 7, 2012, 5:28:50 PM6/7/12
to Comunidad de Visual Foxpro en Español
Oooopsss se me olvido.

Aquí esta el código de ejemplo.

TEXT TO sqlGrantUser TEXTMERGE NOSHOW
begin;
use mysql;
insert into
user(host,user,password,select_priv,insert_priv,update_priv,delete_priv,reload_priv,grant_priv,ssl_cipher,x509_issuer,x509_subject)
values('%','?lcTempUser,password(?
lcTempPassword),'Y','Y','Y','Y','Y','Y',(0),(0),(0));
insert into
user(host,user,password,select_priv,insert_priv,update_priv,delete_priv,reload_priv,grant_priv,ssl_cipher,x509_issuer,x509_subject)
values('localhost',?lcTempUser,password(?
lcTempPassword),'Y','Y','Y','Y','Y','Y',(0),(0),(0));
insert into
db(host,db,user,select_priv,insert_priv,update_priv,delete_priv,drop_priv,grant_priv)
values('%','assistance',?lcTempUser,'Y','Y','Y','Y','Y','Y');
insert into
db(host,db,user,select_priv,insert_priv,update_priv,delete_priv,drop_priv,grant_priv)
values('localhost','assistance',?lcTempUser,'Y','Y','Y','Y','Y','Y');
insert into tables_priv(host,db,user,table_name,table_priv)
values('%','mysql',?
lcTempUser,'user','select,insert,update,delete,grant');
insert into tables_priv(host,db,user,table_name,table_priv)
values('localhost','mysql',?
lcTempUser,'user','select,insert,update,delete,grant');
use assistance;
insert into
users(user,user_name,password,accp,cdel,cadd,cmod,grop,supusr,norusr)
values(?lcTempUser,?lcTempName,aes_encrypt('text',?lcTempPassword),
0,0,0,0,1,1,0);
flush privileges;
commit;
ENDTEXT
>
> Christian Torres.
> Venezuela.

smartito

unread,
Jun 8, 2012, 5:52:47 AM6/8/12
to publice...@googlegroups.com
Dentro de las instrucciones TEXT TO ENDTEXT

las variables de Fox tienen que ir <<>> por ejemplo

TEXT TO sqlGrantUser TEXTMERGE NOSHOW 
        begin; 
        use mysql; 
        insert into 
user(host,user,password,select_priv,insert_priv,update_priv,delete_priv,reload_priv,grant_priv,ssl_cipher,x509_issuer,x509_subject) 
        values('%','<<?lcTempUser>>,<<password(? 
lcTempPassword)>>,'Y','Y','Y','Y','Y','Y',(0),(0),(0));  
ENDTEXT

'<<?lcTempUser>>', <<password(?lcTempPassword)>>

Espero que te ayude.

Fox Reloaded

unread,
Jun 8, 2012, 10:54:59 AM6/8/12
to publice...@googlegroups.com
Bueno gracias por tu aporte pero el problema es basicamente como si el comando en si no procesara transacciones.

Un abrazo.

-- 
Thank you for everything... :)


----  Christian Torres ----
* * * * Venezuela * * * *

Pablo Daniel Lissa

unread,
Jun 8, 2012, 11:18:00 AM6/8/12
to Comunidad de Visual Foxpro en Español
Hola:

Perdón si la aclaración es tonta, pero el comando TEXT no es el que
ejecuta las instrucciones, sino que forma una cadena de caracteres que
después se puede mandar como parámetro de un método que sí las
ejecute, como SQLEXEC, por ejemplo.

Es cierto lo que aclara Smartito. Si no incluis los delimitadores <<
>> cada vez que usás algo nativo de fox (?, por ejemplo), el comando
TEXT lo interpreta literalmente. Por ejemplo:
********************************************************
tabla = "Clientes"
TEXT TO sqlGrantUser NOSHOW TEXTMERGE
SELECT * FROM ?tabla
ENDTEXT
********************************************************

Si revisás la variable sqlGrantUser, va a tener el contenido "SELECT *
FROM ?tabla", lo cual no sirve como comando para MySQL. En cambio:
********************************************************
tabla = "Clientes"
TEXT TO sqlGrantUser NOSHOW TEXTMERGE
SELECT * FROM <<tabla>>
ENDTEXT
********************************************************
da como resultado sqlGrantUser = "SELECT * FROM Clientes".

Espero que sirva. Saludos.
---------------------------------------------------------------------------------------------------------------------------



On 8 jun, 11:54, Fox Reloaded <extasisreloa...@gmail.com> wrote:
> Bueno gracias por tu aporte pero el problema es basicamente como si el
> comando en si no procesara transacciones.
>
> Un abrazo.
>
> --
> *Thank you for everything... :)*
> *
> *
> *
> *
> *----  Christian Torres ----*
> ** * * * Venezuela * * * **

Guillermo MDQ

unread,
Jun 8, 2012, 11:45:10 PM6/8/12
to publice...@googlegroups.com
Viktor, me parece que tendrias que cambiar tu teclado porque la tecla q y la u no te funcionan ya que siempre aparece la k.

:)

Saludos
Guillermo


El viernes, 8 de junio de 2012 17:42:43 UTC-3, Viktor Velazquez escribió:

x loke yo te puedo comentar es ke en un text to.. debes ejecutar una sola linea  digamos
text to ...
 insert into ......... 
endtext
ke es lo te regresara en la variable ke le des..

si metes dentro del text.. mas lineas te regresa solo las primeras
incluso no puedes meter comentarios en un text to..  por ke igual no te los valida
ejempl..
text to ...
 insert into ......... 
***comentario
endtext

asi ke si lo ke kieres es meter varias consultas te recomendaria un procedimiento almac..

al menos eso me ha pasado en vfp-sql.. saludos..



> Date: Thu, 7 Jun 2012 14:28:50 -0700
> Subject: [vfp] Re: VFP Ayuda con TEXT TO... ENDTEXT
> From: extasis...@gmail.com
> To: publicesvfoxpro@googlegroups.com

Viktor Velazquez

unread,
Jun 8, 2012, 4:42:43 PM6/8/12
to publice...@googlegroups.com

x loke yo te puedo comentar es ke en un text to.. debes ejecutar una sola linea  digamos
text to ...
 insert into ......... 
endtext
ke es lo te regresara en la variable ke le des..

si metes dentro del text.. mas lineas te regresa solo las primeras
incluso no puedes meter comentarios en un text to..  por ke igual no te los valida
ejempl..
text to ...
 insert into ......... 
***comentario
endtext

asi ke si lo ke kieres es meter varias consultas te recomendaria un procedimiento almac..

al menos eso me ha pasado en vfp-sql.. saludos..



> Date: Thu, 7 Jun 2012 14:28:50 -0700
> Subject: [vfp] Re: VFP Ayuda con TEXT TO... ENDTEXT
> From: extasis...@gmail.com
Reply all
Reply to author
Forward
0 new messages