Page 1 of 1

Consulta SQL / MS-SQL ADO

Posted: Sat Jun 02, 2018 1:11 am
by jparada
Hola,

Sigo con mis pruebas con Microsoft SQL Server con ADO

En la consulta tengo algo así:

Code: Select all

oQry += "d.CCODIGOCLIENTE, d.CRAZONSOCIAL, c.CCODIGOAGENTE, c.CNOMBREAGENTE, a.CNETO, a.CDESCUENTOMOV, "
Para desplegar la información estoy haciendo esto:

Code: Select all

MsgInfo( oRs:Fields( "CCODIGOCLIENTE" ):Value )
MsgInfo( oRs:Fields( "CRAZONSOCIAL" ):Value )
La pregunta es por qué funciona sin el alias o cómo puedo incluir el alias, es decir, de qué forma pudiera hacer algo como:

Code: Select all

MsgInfo( oRs:Fields( "d.CCODIGOCLIENTE" ):Value )
Alguna idea?.

Gracias.

Saludos,
Javier

Re: Consulta SQL / MS-SQL ADO

Posted: Sun Jun 03, 2018 9:27 pm
by jorge.posadas
Javier,

El alias no lo puedes usar desde HARBOUR, sino que lo debes de usar desde SQL, usando tu ejemplo
oQry += "d.CCODIGOCLIENTE AS [CODIGO_CLIENTE], d.CRAZONSOCIAL AS [RAZON_SOCIAL], c.CCODIGOAGENTE AS [CODIGO_AGENTE], c.CNOMBREAGENTE AS [NOMBRE_AGENT], a.CNETO AS [IMPORTE_NETO], a.CDESCUENTOMOV AS [DESCUENTO]"

Ahora si usas esto:
MsgInfo( oRs:Fields( "CCODIGOCLIENTE" ):Value )
MsgInfo( oRs:Fields( "CRAZONSOCIAL" ):Value )

Ya no te funciona porque el recordset ya no contiene esos nombres ahora debes usar lo que usaste en tu SELECT
MsgInfo( oRs:Fields( "CODIGO_CLIENTE" ):Value )
MsgInfo( oRs:Fields( "RAZON_SOCIAL" ):Value )

al igual que:
MsgInfo( oRs:Fields( "d.CCODIGOCLIENTE" ):Value )
ahora debes usar este otro,
MsgInfo( oRs:Fields( "d.CODIGO_CLIENTE" ):Value )

Repito el ALIAS no se puede usar en HARBOUR , el ALIAS solo son para usar en: MS-SQL o de MySQL o de MariaDB o de SQLite y creo que hasta en Access

Esa es mi experiencia usando HMG+HARBOUR+(manejador de bases de datos)