Consulta SQL

12/01/2005 - 21:02 por Williams A. Sánchez | Informe spam
Hola gente. Tengo un problemita con una consulta.
El tema viene a si: Tengo una base de datos de VFP, al cual me conecto con
SQLCONNECT(), y todas las operaciones sobre la base de datos la hago con
SQLEXEC().
Cuando realizo una consulta, y filtro por un valor (31446560501) me
devuelve un cursor vació, en cambio con otros valores, o la mayoría no.
La sentencia es:

lcIdPaciente = ‘31446560501’

cSQL = "Select d.dia_nombre, p.pac_te " +;
" From pacientes p " +;
" inner join diagnosticos d " +;
" on d.dia_id == p.pac_diagnostico " +;
" where p.pac_id == Val('" + lcIdPaciente + "')"

SELECT 0
SQLEXEC(cn, cSQL, "Consulta")
THISFORM.txtDiagnostico.value = ''
THISFORM.txtTelefono.value = ''
IF RECCOUNT() > 0 THEN
THISFORM.txtDiagnostico.value = dia_nombre
THISFORM.txtTelefono.value = pac_te
ENDIF
IF USED('Consulta')
SELECT Consulta
USE
ENDIF

Lo mas extraño que la misma consulta, fuera de la aplicación, en la
ventana de comandos, con la base de datos abierta, me devuelve el cursor
con el registro correcto.
En la ventana de comandos (sin SQLEXEC())…
Select d.dia_nombre, p.pac_te From pacientes p inner join diagnosticos d
on d.dia_id == p.pac_diagnostico where p.pac_id == Val('31446560501')



PortalFox :: Nada corre como un zorro
http://www.portalfox.com

PortalFox - NNTP Forum Gateway
 

Leer las respuestas

#1 Esparta Palma
12/01/2005 - 21:16 | Informe spam
Consultas de mas de 256 cars. a el servidor remoto (SPT y TEXT..
ENDTEXT)
http://www.panoramabox.com/GoPub.as...bj"09


TextMerge y SQL Pass Through (SPT) trabajando juntos
http://www.panoramabox.com/GoPub.aspx?IdObj25

Veo que no revisas el valor devuelto por SQLexec, te recomendarìa lo
hicieras...

Uso de AERROR() para errores ODBC
http://www.portalfox.com/article.php?sid–6

Y para abundar más sobre el tema:

Crear Aplicaciones Cliente-Servidor con Visual FoxPro
http://www.panoramabox.com/GoPub.as...bj"03

Espero te sirva.

¸,ø¤º°`°º¤ø,¸¸,ø¤º°`°º¤ø,¸¸,ø¤º°`°º¤ø,¸¸,ø¤º°`°º

Espartaco Palma Martínez
SysOp http://www.PortalFox.com
Mèxico

Williams A. Sánchez wrote:
Hola gente. Tengo un problemita con una consulta.
El tema viene a si: Tengo una base de datos de VFP, al cual me conecto con
SQLCONNECT(), y todas las operaciones sobre la base de datos la hago con
SQLEXEC().
Cuando realizo una consulta, y filtro por un valor (31446560501) me
devuelve un cursor vació, en cambio con otros valores, o la mayoría no.
La sentencia es:

lcIdPaciente = �31446560501�

cSQL = "Select d.dia_nombre, p.pac_te " +;
" From pacientes p " +;
" inner join diagnosticos d " +;
" on d.dia_id == p.pac_diagnostico " +;
" where p.pac_id == Val('" + lcIdPaciente + "')"

SELECT 0
SQLEXEC(cn, cSQL, "Consulta")
THISFORM.txtDiagnostico.value = ''
THISFORM.txtTelefono.value = ''
IF RECCOUNT() > 0 THEN
THISFORM.txtDiagnostico.value = dia_nombre
THISFORM.txtTelefono.value = pac_te
ENDIF
IF USED('Consulta')
SELECT Consulta
USE
ENDIF

Lo mas extraño que la misma consulta, fuera de la aplicación, en la
ventana de comandos, con la base de datos abierta, me devuelve el cursor
con el registro correcto.
En la ventana de comandos (sin SQLEXEC())�
Select d.dia_nombre, p.pac_te From pacientes p inner join diagnosticos d
on d.dia_id == p.pac_diagnostico where p.pac_id == Val('31446560501')



PortalFox :: Nada corre como un zorro
http://www.portalfox.com

PortalFox - NNTP Forum Gateway

Preguntas similares