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.

TSQLQuery

Foro público de Xailer en español
Responder
zeasoftware
Mensajes: 1831
Registrado: Mar Oct 11, 2005 9:53 am

TSQLQuery

Mensaje por zeasoftware »

Alguien tiene un ejemplo del uso de TSQLQuery, con comentarios?
Estoy viendo que ya se hereda de TDataSet, pero no logro hacer que me
funcione.
Gracias de antemano.
Ramón Zea
Móvil.: 993-231.62.29
Tel./Fax: 993-353-46-73
www.zeasoftware.com.mx
soporte@zeasoftware.com.mx
zeasoftware@hotmail.com
Gabo
Mensajes: 104
Registrado: Mié Oct 27, 2010 1:36 am

TSQLQuery

Mensaje por Gabo »

Ramon
Un Ejemplo de tSQLQuery desde codigo

//---------------------------------------------------------------
PROCEDURE RepExistencias()
LOCAL cLineaUno, cLineaDos, cMarcaUno, cMarcaDos, cDeptoUno, cDeptoDos, cAlmacen, cEmpresa
LOCAL cSelect, lPrinter, oWait
LOCAL oSQLKardex, oReport, oBitmap
lPrinter:= .F.
WITH OBJECT TFormRepItems():New()
:RequestState()
:ShowModal()
IF :nModalResult == mrOK
cLineaUno:= :oEditLineaIni:value
cLineaDos:= :oEditLineaFin:value
cMarcaUno:= :oEditMarcaIni:value
cMarcaDos:= :oEditMarcaFin:value
cDeptoUno:= :oEditDeptoIni:value
cDeptoDos:= :oEditDeptoFin:value
cEmpresa := :oEditSucursal:value
cAlmacen := :oEditBodega:value
lPrinter := .T.
:Close()
ELSE
:Close()
ENDIF
END WITH
IF lPrinter
WITH OBJECT oSQLEmpresa:= TSQLQuery():New()
:nCursorType:= adOpenDynamic
:nLockType := adLockOptimistic
:Create()
END
WITH OBJECT oSQLEmpresa
:oDataSource:= AppData:oMySqlDSMain
:cSelect := "SELECT * FROM empresas WHERE id_empresa='" + cEmpresa + "'"
IF :lOpen
:Close()
ENDIF
IF !:lOpen
:lOpen:= .T.
IF !:lOpen
MsgStop( "ERROR: No es posible abrir archivo de empresas", "Error de conexion.." )
RETURN
ENDIF
ENDIF
END
cSelect:= "SELECT kdx.id_item, kdx.id_talla, tallas.descripcion,"+ ;
"kdx.cantidad_existe,item.id_linea,item.id_marca,item.id_depto,item.nombre,"+;
"item.uni_entrada,item.costo"+oSQLEmpresa:costo_unitario+",item.precio"+oSQLEmpresa:precio_venta +;
" FROM kardex_actual AS kdx " + ;
"LEFT JOIN tallas ON tallas.id_talla=kdx.id_talla " + ;
"LEFT JOIN articulos AS item ON item.id_item=kdx.id_item " + ;
"WHERE kdx.id_empresa='" + cEmpresa + "' " + ;
"AND kdx.id_almacen='" + cAlmacen + "' " + ;
"AND kdx.id_item=tallas.id_item AND kdx.id_item=item.id_item ORDER BY kdx.id_item,kdx.id_talla"
oWait:= TFormMsgWait():New()
oWait:WaitOn("Recuperando informacion del Sevidor... por favor espere un momento")
WITH OBJECT oSQLKardex:= TSQLQuery():New()
:nCursorType:= adOpenDynamic
:nLockType := adLockOptimistic
:Create()
END
WITH OBJECT oSQLKardex
:oDataSource:= AppData:oMySqlDSMain
:cSelect:= cSelect
IF :lOpen
:Close()
ENDIF
IF !:lOpen
:lOpen:= .T.
IF !:lOpen
MsgStop( "ERROR: No es posible abrir el kardex de artí­culos", "Error de conexion.." )
RETURN
ENDIF
ENDIF
END
oWait:WAITOFF()
ENDIF
RETURN
zeasoftware
Mensajes: 1831
Registrado: Mar Oct 11, 2005 9:53 am

TSQLQuery

Mensaje por zeasoftware »

Gracias, ya he logrado armar la consulta...
Saludos
Ramón Zea
Móvil.: 993-231.62.29
Tel./Fax: 993-353-46-73
www.zeasoftware.com.mx
soporte@zeasoftware.com.mx
zeasoftware@hotmail.com
"Gabriel Ornelas" escribió en el mensaje de
noticias:501e9168$[email=1@svctag-j7w3v3j....]1@svctag-j7w3v3j....[/email]
Ramon
Un Ejemplo de tSQLQuery desde codigo
//---------------------------------------------------------- -----
PROCEDURE RepExistencias()
LOCAL cLineaUno, cLineaDos, cMarcaUno, cMarcaDos,
cDeptoUno, cDeptoDos, cAlmacen, cEmpresa
LOCAL cSelect, lPrinter, oWait
LOCAL oSQLKardex, oReport, oBitmap
lPrinter:= .F.
WITH OBJECT TFormRepItems():New()
:RequestState()
:ShowModal()
IF :nModalResult == mrOK
cLineaUno:= :oEditLineaIni:value
cLineaDos:= :oEditLineaFin:value
cMarcaUno:= :oEditMarcaIni:value
cMarcaDos:= :oEditMarcaFin:value
cDeptoUno:= :oEditDeptoIni:value
cDeptoDos:= :oEditDeptoFin:value
cEmpresa := :oEditSucursal:value
cAlmacen := :oEditBodega:value
lPrinter := .T.
:Close()
ELSE
:Close()
ENDIF
END WITH
IF lPrinter
WITH OBJECT oSQLEmpresa:= TSQLQuery():New()
:nCursorType:= adOpenDynamic
:nLockType := adLockOptimistic
:Create()
END
WITH OBJECT oSQLEmpresa
:oDataSource:= AppData:oMySqlDSMain
:cSelect := "SELECT * FROM empresas WHERE
id_empresa='" + cEmpresa + "'"
IF :lOpen
:Close()
ENDIF
IF !:lOpen
:lOpen:= .T.
IF !:lOpen
MsgStop( "ERROR: No es posible abrir archivo
de empresas", "Error de conexion.." )
RETURN
ENDIF
ENDIF
END
cSelect:= "SELECT kdx.id_item, kdx.id_talla,
tallas.descripcion,"+ ;
" kdx.cantidad_existe,item.id_linea,item.id_marca,item.id_dept o,item.nombre, "+;
"item.uni_entrada,item.costo"+oSQLEmpresa:costo_unitario+",item.precio "+oSQLEmpresa:precio_venta
+;
" FROM kardex_actual AS kdx " + ;
"LEFT JOIN tallas ON
tallas.id_talla=kdx.id_talla " + ;
"LEFT JOIN articulos AS item ON
item.id_item=kdx.id_item " + ;
"WHERE kdx.id_empresa='" + cEmpresa
+ "' " + ;
"AND kdx.id_almacen='" + cAlmacen
+ "' " + ;
"AND kdx.id_item=tallas.id_item AND
kdx.id_item=item.id_item ORDER BY kdx.id_item,kdx.id_talla"
oWait:= TFormMsgWait():New()
oWait:WaitOn("Recuperando informacion del Sevidor...
por favor espere un momento")
WITH OBJECT oSQLKardex:= TSQLQuery():New()
:nCursorType:= adOpenDynamic
:nLockType := adLockOptimistic
:Create()
END
WITH OBJECT oSQLKardex
:oDataSource:= AppData:oMySqlDSMain
:cSelect:= cSelect
IF :lOpen
:Close()
ENDIF
IF !:lOpen
:lOpen:= .T.
IF !:lOpen
MsgStop( "ERROR: No es posible abrir el
kardex de artí­culos", "Error de conexion.." )
RETURN
ENDIF
ENDIF
END
oWait:WAITOFF()
ENDIF
RETURN
Responder