In order for this site to work correctly we need to store a small file (called a cookie) on your computer. Most every site in the world does this, however since the 25th of May 2011, by law we have to get your permission first. Please abandon the forum if you disagree.

Para que este foro funcione correctamente es necesario guardar un pequeño fichero (llamado cookie) en su ordenador. La mayoría de los sitios de Internet lo hacen, no obstante desde el 25 de Marzo de 2011 y por ley, necesitamos de su permiso con antelación. Abandone este foro si no está conforme.

Consultas con sql (Aun no le entiendo bien)

Foro de Xailer profesional en español
Responder
PEDRO DE LEON RODAS[1]
Mensajes: 136
Registrado: Jue Jul 05, 2007 4:52 am

Consultas con sql (Aun no le entiendo bien)

Mensaje por PEDRO DE LEON RODAS[1] »

Pido disculpas, hace unos pedi la ayuda de todos ustedes para poder
enternder como hacer consultas con select (sql).
Y recibi la ayuda, pero desafortunadamente formatie mi disco duro y no
respalde esos ejemplos.
En foxpro hago lo siguiente:
variable1="2006-2007"
variable2="17DRP001"
select * from mi_tabla order by campo1 where campo1=variable1 and.
campo2=variable2
En foxpro me funciona perfectamente.
Y en xailer lo estoy haciendo de la siguiente manera:
::conexion:Execute("Select * from mi_tabla order by campo1 where campo1=
'"+variable1+"'+ '".and. campo2='"+variable2+'" " )
Pero no me funciona.
La verdad me enredo con abrir y cerrar comillas.
Por favor alguien que me apoye.
Y tratare de no molestar mas con esto de las consultas.
De antemano gracias.
jose.luis
Mensajes: 1633
Registrado: Vie Oct 14, 2005 10:56 pm

Consultas con sql (Aun no le entiendo bien)

Mensaje por jose.luis »

Pedro,
A mi también me pasa de tanto en tanto que con abrir y cerrar comillas
pierdo el hilo de la sentencia.
Una forma de ver dónde está fallando la sentencia es, por ejemplo, mostrar
el contenido de la sentencia select por la consola del debugger, copiar esa
sentencia (tal cual) y ejecutarla contra el servidor sql. De esta manera yo
consigo dos cosas: ver fallos sintácticos y ver el resultado del select.
Saludos,
José Luis Capel
"PEDRO DE LEON RODAS" <deleonpe@terra.com.mx> escribió en el mensaje
news:[email=471c208e@ozsrv2.ozlan.local...]471c208e@ozsrv2.ozlan.local...[/email]
> Pido disculpas, hace unos pedi la ayuda de todos ustedes para poder
> enternder como hacer consultas con select (sql).
> Y recibi la ayuda, pero desafortunadamente formatie mi disco duro y no
> respalde esos ejemplos.
>
> En foxpro hago lo siguiente:
> variable1="2006-2007"
> variable2="17DRP001"
> select * from mi_tabla order by campo1 where campo1=variable1 and.
> campo2=variable2
> En foxpro me funciona perfectamente.
>
> Y en xailer lo estoy haciendo de la siguiente manera:
>
> ::conexion:Execute("Select * from mi_tabla order by campo1 where campo1=
> '"+variable1+"'+ '".and. campo2='"+variable2+'" " )
>
> Pero no me funciona.
>
> La verdad me enredo con abrir y cerrar comillas.
>
> Por favor alguien que me apoye.
> Y tratare de no molestar mas con esto de las consultas.
>
> De antemano gracias.
>
>
>
>
Avatar de Usuario
jasm
Mensajes: 447
Registrado: Mar Jul 08, 2008 8:12 pm

Consultas con sql (Aun no le entiendo bien)

Mensaje por jasm »

Pedro,
Para no enredarte con las comillas, ordena las cosas:
variable1 := "2006-2007"
variable2 := "17DRP001"
cSelect := "SELECT * FROM mi_tabla" + ;
" WHERE campo1 = " + chr( 34 ) + variable1 + chr( 34 ) + ;
" AND Campo2 = " + chr( 34 ) + variable2 + chr( 34 ) + ;
" ORDER BY campo1"
::conexion:Execute( cSelect )
(Presta mucha atención a los espacios que hay delante de WHERE, AND y ORDER)
Otra forma es usar TEXT...ENDTEXT
Y otra cosa, el ORDER BY *SIEMPRE* después del WHERE.
Saludos
Jose A. Suarez
Avatar de Usuario
jfgimenez
Site Admin
Mensajes: 5718
Registrado: Lun Abr 06, 2015 8:48 pm
Contactar:

Consultas con sql (Aun no le entiendo bien)

Mensaje por jfgimenez »

Pedro y Josés,
no sé si sabeis que se pueden usar macros directamente en las cadenas.
P.ej.:
PRIVATE variable1 := "2006-2007"
PRIVATE variable2 := "17DRP001"
::conexion:Execute( "select * from mi_tabla order by campo1 where
campo1='&variable1' and. campo2='&variable2'" )
--
Un saludo,
José F. Giménez
http://www.xailer.com
http://www.xailer.info
José F. Giménez
[Equipo de Xailer / Xailer team]
http://www.xailer.com
http://www.xailer.info
Avatar de Usuario
jasm
Mensajes: 447
Registrado: Mar Jul 08, 2008 8:12 pm

Consultas con sql (Aun no le entiendo bien)

Mensaje por jasm »

Jose,
Yo, al menos, si que lo se, pero huyo lo que puedo de ellas: si no hay
mas remedio, se usan, pero si hay alternativa las evito.
Saludos
Jose A. Suarez
Avatar de Usuario
jfgimenez
Site Admin
Mensajes: 5718
Registrado: Lun Abr 06, 2015 8:48 pm
Contactar:

Consultas con sql (Aun no le entiendo bien)

Mensaje por jfgimenez »

José Alfonso,
> Yo, al menos, si que lo se, pero huyo lo que puedo de ellas: si no hay mas
> remedio, se usan, pero si hay alternativa las evito.
Sí, yo estoy 100% de acuerdo. Lo he comentado porque en casos como este se
gana en claridad, aunque se pierda en velocidad y consumo de memoria.
--
Un saludo,
José F. Giménez
http://www.xailer.com
http://www.xailer.info
José F. Giménez
[Equipo de Xailer / Xailer team]
http://www.xailer.com
http://www.xailer.info
Mario Angelini
Mensajes: 41
Registrado: Sab May 10, 2008 3:53 pm

Consultas con sql (Aun no le entiendo bien)

Mensaje por Mario Angelini »

Bom dia,
Também estava com este problema e vendo em:
http://dev.mysql.com/doc/refman/4.1/en/select.html
vi que no exemplo tinha um ponto-e-virgula no final da sintaxe e funcionou
assim:
::oMySQLDataSource1:Execute("INSERT INTO arquivo1 (campo1,campo2) VALUES(" +
x01[1] + "," + x01[2] + ");")
Então experimente fazer assim:
::conexion:Execute("Select * from mi_tabla order by campo1 where campo1=
"+variable1+ ".and. campo2="+variable2+");")
ou seja encerrando com ");"
"PEDRO DE LEON RODAS" <deleonpe@terra.com.mx> escreveu na mensagem
news:[email=471c208e@ozsrv2.ozlan.local...]471c208e@ozsrv2.ozlan.local...[/email]
> Pido disculpas, hace unos pedi la ayuda de todos ustedes para poder
> enternder como hacer consultas con select (sql).
> Y recibi la ayuda, pero desafortunadamente formatie mi disco duro y no
> respalde esos ejemplos.
>
> En foxpro hago lo siguiente:
> variable1="2006-2007"
> variable2="17DRP001"
> select * from mi_tabla order by campo1 where campo1=variable1 and.
> campo2=variable2
> En foxpro me funciona perfectamente.
>
> Y en xailer lo estoy haciendo de la siguiente manera:
>
> ::conexion:Execute("Select * from mi_tabla order by campo1 where campo1=
> '"+variable1+"'+ '".and. campo2='"+variable2+'" " )
>
> Pero no me funciona.
>
> La verdad me enredo con abrir y cerrar comillas.
>
> Por favor alguien que me apoye.
> Y tratare de no molestar mas con esto de las consultas.
>
> De antemano gracias.
>
>
>
>
--

Attached files
Mario Angelini
Mensajes: 41
Registrado: Sab May 10, 2008 3:53 pm

Consultas con sql (Aun no le entiendo bien)

Mensaje por Mario Angelini »

Desculpa, a sintaxe correta seria:
::conexion:Execute("Select * from mi_tabla order by campo1 where campo1=
"+variable1+ ".and. campo2="+variable2+";")
ou seja encerrando com ";"
>
>
>
>
> "PEDRO DE LEON RODAS" <deleonpe@terra.com.mx> escreveu na mensagem
> news:[email=471c208e@ozsrv2.ozlan.local...]471c208e@ozsrv2.ozlan.local...[/email]
>> Pido disculpas, hace unos pedi la ayuda de todos ustedes para poder
>> enternder como hacer consultas con select (sql).
>> Y recibi la ayuda, pero desafortunadamente formatie mi disco duro y no
>> respalde esos ejemplos.
>>
>> En foxpro hago lo siguiente:
>> variable1="2006-2007"
>> variable2="17DRP001"
>> select * from mi_tabla order by campo1 where campo1=variable1 and.
>> campo2=variable2
>> En foxpro me funciona perfectamente.
>>
>> Y en xailer lo estoy haciendo de la siguiente manera:
>>
>> ::conexion:Execute("Select * from mi_tabla order by campo1 where campo1=
>> '"+variable1+"'+ '".and. campo2='"+variable2+'" " )
>>
>> Pero no me funciona.
>>
>> La verdad me enredo con abrir y cerrar comillas.
>>
>> Por favor alguien que me apoye.
>> Y tratare de no molestar mas con esto de las consultas.
>>
>> De antemano gracias.
>>
>>
>>
>>
>
Responder