cursor2 Class Reference

Esta clase provee toda la interacción necesaria para las consultas de base de datos. More...

#include <postgresiface2.h>


Public Member Functions

 cursor2 (QString nombre, PGconn *conn1, QString SQLQuery)
 Constructor, inicializa la estructura y realiza la consulta.
 ~cursor2 ()
 Destructor, elimina la memoria ocupada.
int numregistros ()
 Devuelve el número de registros del cursor.
QString valor (int posicion, int registro=-1)
 Devuelve el valor de una determinada posición del query.
bool error ()
QString query ()
QString valor (const QString &campo, int registro=-1)
 Devuelve el valor de una determinada posición del query.
int siguienteregistro ()
 Avanza el puntero de recorrido en forma de cola una posición.
int registroanterior ()
 Retrocede el puntero de recorrido en forma de cola una posición.
int primerregistro ()
 Establece la posición del puntero de recorrido de cola al primer registro.
int ultimoregistro ()
 Establece la posición del puntero de recorrido de cola en el último registro.
int regactual ()
 Devuelve la posición del registro actual.
void cerrar ()
 Libera la memoria que se ha ocupado en las consultas.
QString nomcampo (int)
 Devuelve el nombre del campo de una columna determinada de la consulta.
int numcampo (const QString &)
 Devuelve el número de columna que tiene una columna referenciada por el nombre.
int numcampos ()
 Devuelve el número total de columnas que tiene la consulta.
bool eof ()
 Indica que se ha alcanzado el primer registro de la consulta.
bool bof ()
 Indica que se ha alcanzado el último registro de la consulta.
bool esultimoregistro ()
 Informa sobre si el registro actual es el último registro de la consulta.
bool esprimerregistro ()
 Informa sobre si el registro actual es el primer registro de la consulta.

Private Attributes

QString nomcursor
 El nombre del cursor, (OBSOLETE).
PGresult * result
 Estructura en la que se almacena el resultado.
PGconn * conn
 Estructura en la que se almacenan los datos de conexión.
int registroactual
int nregistros
 Indica el número de registros que tiene la consulta. (La componente vertical del query).
int ncampos
 Indica el número de campos que tiene la consulta. (La componente horizontal del query).
bool m_error
QString m_query
QHash< QString, int > m_campos


Detailed Description

Esta clase provee toda la interacción necesaria para las consultas de base de datos.

Se carga normalmente a partir de la clase 'postgresiface2' con el método 'cargacursor'. Crea las estructuras necesarias para recorrer un recordset de postgres.

Definition at line 51 of file postgresiface2.h.


Constructor & Destructor Documentation

cursor2::cursor2 ( QString  nombre,
PGconn *  conn1,
QString  SQLQuery 
)

Constructor, inicializa la estructura y realiza la consulta.

Realiza la consulta en la base de datos y almacena el resultado en las variables de clase para poder ser manupuladas. Tambien almacena en variables globales algunos resultados para poder acelerar las consultas (nregistros y ncampos). Si todo falla (y en funcion de la configuracion) Da un mensaje de alerta o no.

Parameters:
nombre Nombre que obtendra el query (OBSOLETO)
conn1 Conexion con la base de datos (Inicializada en postgresiface2
SQLQuery Query en formato SQL a realizar en la base de datos.

Rellenamos el hash que luego nos sirve en la consulta.

Definition at line 73 of file postgresiface2.cpp.

References _depura(), CONF_ALERTAS_DB, confpr, conn, FALSE, m_campos, m_error, m_query, ncampos, nomcampo(), nomcursor, nregistros, registroactual, result, TRUE, and configuracion::valor().

00073                                                                 {
00074     _depura("cursor2::cursor2", 0, SQLQuery);
00075     try {
00076         conn = conn1;
00077         m_error = FALSE;
00078         m_query = SQLQuery;
00079         nomcursor = nombre;
00080         nregistros = 0;
00081         registroactual = 0;
00082         _depura(SQLQuery, 0);
00083         result = PQexec(conn, SQLQuery.toAscii().data());
00084         switch (PQresultStatus(result)) {
00085         case PGRES_NONFATAL_ERROR:
00086         case PGRES_FATAL_ERROR:
00087         case NULL:
00088             m_error = TRUE;
00089             _depura(PQerrorMessage(conn));
00090             _depura("QUERY command failed [" + SQLQuery + "]", 10);
00091             if (confpr->valor(CONF_ALERTAS_DB) == "Yes") {
00092                 msgError(QString(QObject::tr("Error al hacer la consulta con la base de datos.")) + "\n:: " + QString(PQresultErrorField(result, PG_DIAG_MESSAGE_PRIMARY)) + " ::", SQLQuery + QString("\n") + (QString) PQerrorMessage(conn));
00093             } // end if
00094             PQclear(result);
00095             throw -1;
00096             break;
00097         default:
00098             break;
00099         } // end switch
00100 
00101         nregistros = PQntuples(result);
00102         ncampos = PQnfields(result);
00103         registroactual = 0;
00104 
00106         m_campos.clear();
00107         for (int i = 0; i < ncampos; i++) {
00108             if (!m_campos.contains(nomcampo(i)))
00109                 m_campos[nomcampo(i)] = i;
00110         } // end for
00111 
00112         _depura("------------ RESULTADO DE LA CONSULTA -----------------");
00113         QString err;
00114         err.sprintf("Numero de registros: %d, Numero de campos: %d", nregistros, ncampos);
00115         _depura(err);
00116         _depura("--------- FIN RESULTADO DE LA CONSULTA ----------------");
00117     } catch (...) {
00118         _depura("cursor2::cursor2: Error en la consulta: " + SQLQuery, 2);
00119         throw -1;
00120     } // end try
00121     _depura("END cursor2::cursor2", 0, " Numero de registros: " + QString::number(nregistros) + ", Numero de campos: " + QString::number(ncampos));
00122 }

cursor2::~cursor2 (  ) 

Destructor, elimina la memoria ocupada.

Definition at line 128 of file postgresiface2.cpp.

References _depura(), and cerrar().

00128                   {
00129     _depura("cursor2::~cursor2", 0);
00130     cerrar();
00131     _depura("END cursor2::~cursor2", 0);
00132 }


Member Function Documentation

int cursor2::numregistros (  ) 

Devuelve el número de registros del cursor.

Returns:

Definition at line 149 of file postgresiface2.cpp.

References _depura(), and nregistros.

Referenced by ListAsientos::boton_anterior(), ListAsientos::boton_fin(), ListAsientos::boton_inicio(), ListAsientos::boton_siguiente(), pgimportfiles::bulmages2Contaplus(), pgimportfiles::bulmages2XML(), ImpCuadrante::buscaConflictos(), SubForm3::cargar(), FichaCfg::FichaCfg(), EFQToolButtonImportar::importa_factura_ubl(), propiedadesempresa::inicializa(), adocumental::inicializa(), CuadranteView::inicializaCuadrante(), mpatrimonialesview::inicializatabla(), listcuentasview1::inicializatabla(), Mod300ps::Mod300ps(), Listado347::on_m_boton_recalcular_clicked(), BusquedaCliente::on_m_cifcliente_textChanged(), BusquedaProveedor::on_m_cifproveedor_textChanged(), CuadranteView::on_mui_imprimir_clicked(), BalanceTreeView::presentar(), estadisticasview::presentar(), BusquedaCuenta::s_lostFocus(), and AlbaranClienteView::s_verpresupuesto().

00149                           {
00150     _depura("cursor2::numregistros", 0);
00151     _depura("END cursor2::numregistros", 0);
00152     return nregistros;
00153 }

QString cursor2::valor ( int  posicion,
int  registro = -1 
)

Devuelve el valor de una determinada posición del query.

Esta funcion devuelve el valor del campo posicion del registro pasado, si se pasa -1 como registro se devuelve el registro actual

Parameters:
posicion El nmero de campo del que se quiere la posicion.
registro El registro del que se quiere devolver el campo. Si vale -1 entonces se usa el recorrido en forma de lista de campos para hacerlo.
Returns:
El valor de la posicion.

Definition at line 206 of file postgresiface2.cpp.

References _depura(), registroactual, and result.

Referenced by libromayorprint::accept(), DiarioPrint::accept(), Arbol::actualizahojas(), Arbol::ActualizarHoja(), CuadranteQTextDocument::addTrabajador(), Asiento1_guardaAsiento1_post(), Asiento1View::asiento_apertura(), Asiento1View::asiento_cierre(), Asiento1View::asiento_regularizacion(), BalancePrintView::BalancePrintView(), ListAsientos::boton_anterior(), Asiento1View::boton_cargarasiento(), ListAsientos::boton_fin(), ListAsientos::boton_inicio(), ListAsientos::boton_siguiente(), pgimportfiles::bulmafact2XML(), pgimportfiles::bulmages2Contaplus(), pgimportfiles::bulmages2XML(), RegistroIva::buscaborradorcliente(), RegistroIva::buscaborradorservicio(), RegistroIva::buscafecha(), RegistroIva::buscaNumFactura(), Q19QToolButton::cabeceraOrdenante(), Q19QToolButton::cabeceraPresentador(), FichaBf::calculaypintatotales(), selectcanalview::cargacanales(), SelectCCosteView::cargacostes(), PromedioView::cargar(), AmortizacionView::cargar(), RegistroIvaView::cargarComboFPago(), ListLinPrevCobro::chargeBudgetLines(), aplinteligentesview::cifcuenta(), InformeQToolButton::click(), EmailQToolButton::click(), ImpQToolButton::click(), Q19QToolButton::cobroQ19(), BusquedaSerieFactura::codigoserie_factura(), pgimportfiles::contaplus2Bulmages(), ListLinPrevCobroView::contextMenu(), aplinteligentesview::creaasiento(), linprevcobro::creaPago(), Empresa::createMainWindows(), DBRecord::DBload(), DBRecord::DBsave(), PresupuestoView::detalleArticulos(), CatalogoQToolButton::detalleArticulos(), StructureParser::endElement(), ImportBalance::endElement2(), EFQToolButton::escribe_descuento_factura(), EFQToolButton::escribe_linea_factura(), Asiento1::estadoAsiento1(), EFQToolButton::exporta_factura_ubl(), FichaCfg::FichaCfg(), ImpCuadrante::generar(), PedidoProveedorView::generarAlbaran(), PedidoClienteView::generarAlbaran(), InformeArtQToolButton::generarArticulos(), InformeQToolButton::generarCliente(), AlbaranClienteView::generarFactura(), AlbaranProveedorView::generarFacturaProveedor(), InformeCliente::generarInforme(), InformeReferencia::generarinforme(), FichaBf::generaRML(), PresupuestoView::generarPedidoCliente(), abreempresaview::guardaArchivo(), linprevcobro::guardalinprevcobro(), TipoArticuloList::guardar(), fpagoview::guardar(), ArticuloView::guardarPost(), postgresiface2::has_table_privilege(), BusquedaTipoTrabajoDelegate::id(), BusquedaAlmacen::idalmacen(), ListAsientos::idasientoanterior(), ListAsientos::idasientosiguiente(), BusquedaBanco::idbanco(), BusquedaCCoste::idc_coste(), BusquedaCanal::idcanal(), BusquedaFormaPago::idforma_pago(), BusquedaProvincia::idProvincia(), BusquedaTipoIva::idtipo_iva(), BusquedaTipoTrabajo::idtipotrabajo(), BusquedaTrabajador::idtrabajador(), BusquedaZonaComercial::idzonacomercial(), EFQToolButtonImportar::importa_factura_ubl(), CuadranteQTextDocument::impresion(), extractoview1::imprimeExtractoCuenta(), Ticket::imprimir(), PedidoProveedorView::imprimir(), FacturaProveedorView::imprimirFacturaProveedor(), Inventario::imprimirInventario(), propiedadesempresa::inicializa(), mpatrimonialesview::inicializa(), listcuentasview1::inicializa(), DuplicarAsientoView::inicializa(), BbloqFecha::inicializa(), Arbol::inicializa(), aplinteligentesview::inicializa(), ListRegistroIvaView::inicializa(), adocumental::inicializa(), mpatrimonialview::inicializa1(), RegistroIva::inicializa1(), CuadranteView::inicializaCuadrante(), mpatrimonialesview::inicializatabla(), listcuentasview1::inicializatabla(), CuadranteView::inicializaTrabajadores(), aplinteligentesview::inicializavariables(), Asiento1View::iniciar_asiento_nuevo(), Ticket::insertarArticulo(), Ticket::insertarArticuloCodigo(), Ticket::insertarArticuloCodigoNL(), linprevcobro::linprevcobro(), DuplicarAsientoView::lostFocus(), BusquedaProvincia::m_activated(), BusquedaTrabajador::m_activated(), BusquedaTipoIva::m_activated(), BusquedaSerieFactura::m_activated(), BusquedaFormaPago::m_activated(), BusquedaBanco::m_activated(), BusquedaAlmacen::m_activated(), BusquedaTipoTrabajo::m_activated(), BusquedaTarifa::m_activated(), BusquedaZonaComercial::m_activated(), BusquedaCCoste::m_activated(), BusquedaCanal::m_activated(), TipoArticuloList::mostrarplantilla(), FamiliasView::mostrarplantilla(), tipoivaview::mostrarplantilla(), fpagoview::mostrarplantilla(), canalview::mostrarplantilla(), CuentaView::nuevacuenta(), Arbol::nuevarama(), CuadranteQTextDocument::on_customContextMenuRequested(), Listado347::on_m_boton_recalcular_clicked(), BusquedaCliente::on_m_cifcliente_textChanged(), BusquedaProveedor::on_m_cifproveedor_textChanged(), BusquedaArticulo::on_m_codigocompletoarticulo_textChanged(), BusquedaFamilia::on_m_codigocompletofamilia_textChanged(), BusquedaTipoArticulo::on_m_codtipo_articulo_textChanged(), BusquedaReferencia::on_mui_abrirtodo_clicked(), mpatrimonialview::on_mui_aceptar_clicked(), DuplicarAsientoView::on_mui_aceptar_clicked(), CAnualesPrintView::on_mui_aceptar_clicked(), tipoivaview::on_mui_borrar2_clicked(), fpagoview::on_mui_borrar_clicked(), extractoview1::on_mui_casacion_clicked(), Abrevs::on_mui_cliente_clicked(), ArticuloView::on_mui_codigocompletoarticulo_editingFinished(), correctorwidget::on_mui_corregir_clicked(), TipoArticuloList::on_mui_crear_clicked(), FamiliasView::on_mui_crear_clicked(), FPagoView::on_mui_crear_clicked(), fpagoview::on_mui_crear_clicked(), ccosteview::on_mui_crear_clicked(), canalview::on_mui_crear_clicked(), CuadranteView::on_mui_duplicar_clicked(), ContratoView::on_mui_facturar_clicked(), RegistroIvaView::on_mui_generarPrevisiones_clicked(), tipoivaview::on_mui_guardar2_clicked(), extractoview1::on_mui_guardarpunteo_clicked(), FamiliasView::on_mui_imprimir_clicked(), CobroView::on_mui_imprimir_clicked(), InventariosView::on_mui_imprimir_clicked(), listcuentasview1::on_mui_imprimir_clicked(), extractoview1::on_mui_imprimir_clicked(), SubForm2Bf::on_mui_list_cellChanged(), SubForm2Bc::on_mui_list_cellChanged(), SubForm2Bf::on_mui_list_pressedAsterisk(), SubForm2Bc::on_mui_list_pressedAsterisk(), SubForm2Bf::on_mui_list_pressedMinus(), TrabajadorView::on_mui_lista_currentItemChanged(), BancoView::on_mui_lista_currentItemChanged(), FPagoView::on_mui_lista_currentItemChanged(), propiedadesempresa::on_mui_modificarplan_clicked(), mpatrimonialview::on_mui_nuevaresta_clicked(), mpatrimonialview::on_mui_nuevasuma_clicked(), tipoivaview::on_mui_nuevo2_clicked(), TrabajadorView::on_mui_nuevo_clicked(), BancoView::on_mui_nuevo_clicked(), EFacturaRecepcion::on_mui_recibir_clicked(), FacturaView::on_mui_veralbaranes_clicked(), FacturaProveedorView::on_mui_veralbaranes_clicked(), AlbaranClienteView::on_mui_verpedidocliente_clicked(), AlbaranProveedorView::on_mui_verpedidosproveedor_clicked(), PedidoClienteView::on_mui_verpresupuesto_clicked(), ListLinPrevCobroView::pintalistlinprevcobro(), MTicket::pintar(), TrabajadorView::pintar(), TipoArticuloList::pintar(), FamiliasView::pintar(), BancoView::pintar(), tipoivaview::pintar(), FPagoView::pintar(), fpagoview::pintar(), PresupuestoList::presentar(), PedidosProveedorList::presentar(), PedidosClienteList::presentar(), FacturasProveedorList::presentar(), FacturasList::presentar(), AlbaranesProveedor::presentar(), AlbaranClienteList::presentar(), regivaprintview::presentar(), extractoview1::presentar(), ExtractoPrintView::presentar(), DiarioView::presentar(), DiarioPrintView::presentar(), BalancePrintView::presentar(), BalanceTreeView::presentar(), resmensualview::presentar(), estadisticasview::presentar(), estadisticasview::presentarbarras(), resmensualview::presentarpie(), BalanceView::presentarSyS(), ListCompArticuloView::pressedAsterisk(), AmortizacionSubForm::procesaMenu(), AsientosView::rellenaListaEjercicio(), ccosteview::repintar(), BusquedaArticuloDelegate::s_editTextChanged(), BusquedaCuentaDelegate::s_editTextChanged(), BusquedaCuenta::s_lostFocus(), AlbaranClienteView::s_verpresupuesto(), pluginCAnualesODS::saldoCuenta(), pluginCAnualesODS::saldoCuentaAnt(), postgresiface2::searchParent(), pgimportfiles::searchParent(), BusquedaTrabajadorDelegate::set(), BusquedaTipoIVADelegate::set(), BusquedaAlmacenDelegate::set(), BusquedaTipoTrabajoDelegate::set(), BusquedaCCosteDelegate::set(), BusquedaCanalDelegate::set(), BusquedaCliente::setcifcliente(), BusquedaProveedor::setcifproveedor(), BusquedaArticulo::setcodigocompletoarticulo(), BusquedaFamilia::setcodigocompletofamilia(), linprevcobro::setcodigoctacliente(), BusquedaCuenta::setcodigocuenta(), linprevcobro::setcodigocuenta(), BusquedaSerieFactura::setcodigoserie_factura(), BusquedaTipoArticulo::setcodtipo_articulo(), BusquedaSerieFactura::setEmpresaBase(), BusquedaAlmacen::setEmpresaBase(), BusquedaAlmacen::setidalmacen(), BusquedaArticulo::setidarticulo(), BusquedaBanco::setidbanco(), BusquedaCCoste::setidc_coste(), BusquedaCanal::setidcanal(), SubForm2Bt::setIdCliente(), SubForm2Bf::setIdCliente(), BusquedaFormaPago::setIdCliente(), BusquedaCliente::setidcliente(), linprevcobro::setidctacliente(), BusquedaCuenta::setidcuenta(), linprevcobro::setidcuenta(), BusquedaFamilia::setidfamilia(), BusquedaFormaPago::setidforma_pago(), SubForm2Bt::setIdProveedor(), SubForm2Bf::setIdProveedor(), BusquedaProveedor::setidproveedor(), BusquedaFormaPago::setIdProveedor(), BusquedaProvincia::setIdProvincia(), BusquedaTarifa::setidtarifa(), BusquedaTipoArticulo::setidtipo_articulo(), BusquedaTipoIva::setidtipo_iva(), Iva::setidtipoiva(), BusquedaTipoTrabajo::setidtipotrabajo(), BusquedaTrabajador::setidtrabajador(), BusquedaZonaComercial::setidzonacomercial(), Arbol::SintetizarRamas(), ListAsientos::situarasiento(), StructureParser::startElement(), importainteligente::startElement(), ImportBalance::startElement1(), SubForm2Bf_on_mui_list_editFinished(), Ticket_pintar(), ListLinAsiento1View::totaldebe(), Q19QToolButton::totalGeneral(), ListLinAsiento1View::totalhaber(), Q19QToolButton::totalOrdenante(), Trabajadores::trabajadorClicked(), Trabajadores::Trabajadores(), ImportBulmaFact::trataAlbaran(), ImportBulmaFact::trataArticulo(), abreempresaview::trataEmpresa(), ImportBulmaFact::trataFactura(), ImportBulmaFact::trataFamilia(), ImportBulmaFact::trataPedidoCliente(), ImportBulmaFact::trataPresupuesto(), Ficha::trataQuery(), FichaBf::trataTotales(), EmpresaTPV::x(), and EmpresaTPV::z().

00206                                                  {
00207     _depura("cursor2::valor", 0, QString::number(posicion) + QString::number(registro));
00208     if (registro == -1) {
00209         registro = registroactual;
00210     } // end if
00211     _depura("END cursor2::valor", 0);
00212     return (QString::fromUtf8(PQgetvalue(result, registro, posicion)));
00213 }

bool cursor2::error (  ) 

Returns:

Definition at line 36 of file postgresiface2.cpp.

References _depura(), and m_error.

Referenced by ListIva::cargaListIva(), and RegistroIva::cargar().

00036                     {
00037     _depura("cursor2::error", 0);
00038     _depura("END cursor2::error", 0);
00039     return m_error;
00040 }

QString cursor2::query (  ) 

Returns:

Definition at line 47 of file postgresiface2.cpp.

References _depura(), and m_query.

Referenced by SubForm3::cargar().

00047                        {
00048     _depura("cursor2::query", 0);
00049     _depura("END cursor2::query", 0);
00050     return m_query;
00051 }

QString cursor2::valor ( const QString &  campo,
int  registro = -1 
)

Devuelve el valor de una determinada posición del query.

Esta función devuelve el valor del campo especificado (por nombre) del registro pasado, si se pasa como registro -1 se devuelve el registro actual.

Parameters:
campo Nombre del campo a devolver
registro El registro del que se quiere devolver el campo. Si vale -1 entonces se usa el recorrido en forma de lista de campos para hacerlo.
Returns:
El valor de la posición.

Definition at line 222 of file postgresiface2.cpp.

References _depura(), numcampo(), registroactual, and result.

00222                                                          {
00223     _depura("cursor2::valor", 0, campo + " " + QString::number(registro));
00224     int i = 0;
00225     if (registro == -1) {
00226         registro = registroactual;
00227     } // end if
00228     i = numcampo(campo);
00229     if (i == -1)
00230         return "";
00231     _depura("END cursor2::valor ", 0, "campo:" + campo + " ----- Valor:" + PQgetvalue(result, registro, i));
00232     return (QString::fromUtf8(PQgetvalue(result, registro, i)));
00233 }

int cursor2::siguienteregistro (  ) 

Avanza el puntero de recorrido en forma de cola una posición.

Returns:

Definition at line 240 of file postgresiface2.cpp.

References _depura(), nregistros, and registroactual.

Referenced by libromayorprint::accept(), DiarioPrint::accept(), Asiento1_guardaAsiento1_post(), Asiento1View::asiento_apertura(), Asiento1View::asiento_cierre(), Asiento1View::asiento_regularizacion(), BalancePrintView::BalancePrintView(), extractoview1::boton_siguiente(), ListAsientos::boton_siguiente(), pgimportfiles::bulmafact2XML(), pgimportfiles::bulmages2Contaplus(), pgimportfiles::bulmages2XML(), RegistroIva::buscaborradorcliente(), RegistroIva::buscaborradorservicio(), selectcanalview::cargacanales(), SelectCCosteView::cargacostes(), ListIva::cargaListIva(), SubForm3::cargar(), RegistroIvaView::cargarComboFPago(), ListLinPrevCobro::chargeBudgetLines(), InformeQToolButton::click(), PresupuestoView::detalleArticulos(), CatalogoQToolButton::detalleArticulos(), EFQToolButton::exporta_factura_ubl(), FichaCfg::FichaCfg(), ImpCuadrante::generar(), InformeArtQToolButton::generarArticulos(), InformeQToolButton::generarCliente(), InformeCliente::generarInforme(), InformeReferencia::generarinforme(), abreempresaview::guardaArchivo(), ListAsientos::idasientoanterior(), ListAsientos::idasientosiguiente(), CuadranteQTextDocument::impresion(), extractoview1::imprimeExtractoCuenta(), Inventario::imprimirInventario(), listcuentasview1::inicializa(), BbloqFecha::inicializa(), Arbol::inicializa(), adocumental::inicializa(), mpatrimonialview::inicializa1(), CuadranteView::inicializaCuadrante(), mpatrimonialesview::inicializatabla(), listcuentasview1::inicializatabla(), CuadranteView::inicializaTrabajadores(), CuadranteQTextDocument::on_customContextMenuRequested(), Listado347::on_m_boton_recalcular_clicked(), BusquedaReferencia::on_mui_abrirtodo_clicked(), DuplicarAsientoView::on_mui_aceptar_clicked(), CAnualesPrintView::on_mui_aceptar_clicked(), extractoview1::on_mui_casacion_clicked(), correctorwidget::on_mui_corregir_clicked(), CuadranteView::on_mui_duplicar_clicked(), extractoview1::on_mui_guardarpunteo_clicked(), FamiliasView::on_mui_imprimir_clicked(), InventariosView::on_mui_imprimir_clicked(), CuadranteView::on_mui_imprimir_clicked(), listcuentasview1::on_mui_imprimir_clicked(), extractoview1::on_mui_imprimir_clicked(), propiedadesempresa::on_mui_modificarplan_clicked(), mpatrimonialview::on_mui_nuevaresta_clicked(), mpatrimonialview::on_mui_nuevasuma_clicked(), FacturaView::on_mui_veralbaranes_clicked(), FacturaProveedorView::on_mui_veralbaranes_clicked(), AlbaranClienteView::on_mui_verpedidocliente_clicked(), AlbaranProveedorView::on_mui_verpedidosproveedor_clicked(), PedidoClienteView::on_mui_verpresupuesto_clicked(), TrabajadorView::pintar(), TipoArticuloList::pintar(), FamiliasView::pintar(), BancoView::pintar(), tipoivaview::pintar(), FPagoView::pintar(), fpagoview::pintar(), regivaprintview::presentar(), extractoview1::presentar(), ExtractoPrintView::presentar(), DiarioPrintView::presentar(), BalancePrintView::presentar(), BalanceTreeView::presentar(), estadisticasview::presentar(), estadisticasview::presentarbarras(), resmensualview::presentarpie(), BalanceView::presentarSyS(), AsientosView::rellenaListaEjercicio(), ccosteview::repintar(), BusquedaArticuloDelegate::s_editTextChanged(), BusquedaCuentaDelegate::s_editTextChanged(), BusquedaTrabajadorDelegate::set(), BusquedaTipoIVADelegate::set(), BusquedaAlmacenDelegate::set(), BusquedaTipoTrabajoDelegate::set(), BusquedaCCosteDelegate::set(), BusquedaCanalDelegate::set(), BusquedaSerieFactura::setcodigoserie_factura(), BusquedaAlmacen::setidalmacen(), BusquedaBanco::setidbanco(), BusquedaCCoste::setidc_coste(), BusquedaCanal::setidcanal(), BusquedaFormaPago::setidforma_pago(), BusquedaProvincia::setIdProvincia(), BusquedaTarifa::setidtarifa(), BusquedaTipoIva::setidtipo_iva(), BusquedaTipoTrabajo::setidtipotrabajo(), BusquedaTrabajador::setidtrabajador(), BusquedaZonaComercial::setidzonacomercial(), Arbol::SintetizarRamas(), ListAsientos::situarasiento(), Trabajadores::trabajadorClicked(), Trabajadores::Trabajadores(), and Ficha::trataQuery().

00240                                {
00241     _depura("cursor2::siguienteregistro", 0, "Registro actual: " + QString::number(registroactual) + " Numero de registros: " + QString::number(nregistros));
00242     _depura("END cursor2::siguienteregistro", 0);
00243     return ++registroactual;
00244 }

int cursor2::registroanterior (  ) 

Retrocede el puntero de recorrido en forma de cola una posición.

Returns:

Definition at line 251 of file postgresiface2.cpp.

References _depura(), nregistros, and registroactual.

Referenced by extractoview1::boton_anterior(), ListAsientos::boton_anterior(), ListAsientos::idasientoanterior(), and ListAsientos::idasientosiguiente().

00251                               {
00252     _depura("cursor2::registroanterior", 0, "Registro actual: " + QString::number(registroactual) + " Numero de registros: " + QString::number(nregistros));
00253     return --registroactual;
00254 }

int cursor2::primerregistro (  ) 

Establece la posición del puntero de recorrido de cola al primer registro.

Returns:

Definition at line 261 of file postgresiface2.cpp.

References _depura(), nregistros, and registroactual.

Referenced by extractoview1::boton_inicio(), ListAsientos::boton_inicio(), EFQToolButton::exporta_factura_ubl(), Arbol::inicializa(), InventariosView::on_mui_imprimir_clicked(), extractoview1::presentar(), and ListAsientos::situarasiento().

00261                             {
00262     _depura("cursor2::primerregistro", 0, "Registro actual: " + QString::number(registroactual) + " Numero de registros: " + QString::number(nregistros));
00263     registroactual = 0;
00264     _depura("END cursor2::primerregistro", 0);
00265     return 0;
00266 }

int cursor2::ultimoregistro (  ) 

Establece la posición del puntero de recorrido de cola en el último registro.

Returns:

Definition at line 273 of file postgresiface2.cpp.

References _depura(), nregistros, and registroactual.

Referenced by extractoview1::boton_fin(), and ListAsientos::boton_fin().

00273                             {
00274     _depura("cursor2::ultimoregistro", 0, "Registro actual: " + QString::number(registroactual)+" Numero de registros: " + QString::number(nregistros));
00275     registroactual = nregistros - 1;
00276     return registroactual;
00277 }

int cursor2::regactual (  ) 

Devuelve la posición del registro actual.

Returns:

Definition at line 58 of file postgresiface2.cpp.

References _depura(), and registroactual.

Referenced by BusquedaTrabajadorDelegate::set(), BusquedaTipoIVADelegate::set(), BusquedaAlmacenDelegate::set(), BusquedaTipoTrabajoDelegate::set(), BusquedaCCosteDelegate::set(), and BusquedaCanalDelegate::set().

00058                        {
00059     _depura("cursor2::regactual", 0);
00060     _depura("END cursor2::regactual", 0);
00061     return registroactual;
00062 }

void cursor2::cerrar (  ) 

Libera la memoria que se ha ocupado en las consultas.

Definition at line 138 of file postgresiface2.cpp.

References _depura(), and result.

Referenced by libromayorprint::accept(), ExtractoPrintView::presentar(), and ~cursor2().

00138                      {
00139     _depura("cursor2::cerrar", 0);
00140     PQclear(result);
00141     _depura("END cursor2::cerrar", 0);
00142 }

QString cursor2::nomcampo ( int  campo  ) 

Devuelve el nombre del campo de una columna determinada de la consulta.

Returns:

Definition at line 173 of file postgresiface2.cpp.

References _depura(), and result.

Referenced by cursor2().

00173                                    {
00174     _depura("cursor2::nomcampo", 0);
00175     _depura("END cursor2::nomcampo", 0);
00176     if (campo >= 0) {
00177         return ((QString)PQfname(result, campo));
00178     } else {
00179         return "--Campo no soportado--";
00180     } // end if
00181 }

int cursor2::numcampo ( const QString &  campo  ) 

Devuelve el número de columna que tiene una columna referenciada por el nombre.

Dado un campo esta funcion devuelve devuelve la posicion que le corresponde, y si no le corresponde ninguno devuelve -1

Parameters:
campo Nombre del campo.
Returns:
Devuelve la posicion si el nombre del campo existe, y si no devuelve -1
Todo:
Tal vez deberia crearse una estructura intermedia que indexe los nombres con las posiciones para hacer la busqueda mas rapida, pero al ser el numero de registros siempre muy reducido seguramente no arreglariamos nada de nada.

Definition at line 191 of file postgresiface2.cpp.

References _depura(), and m_campos.

Referenced by Ficha::trataQuery(), and valor().

00191                                           {
00192     _depura("cursor2::numcampo", 0);
00193     if (m_campos.contains(campo))
00194         return  m_campos.value(campo);
00195     _depura("END cursor2::numcampo", 0);
00196     return -1;
00197 }

int cursor2::numcampos (  ) 

Devuelve el número total de columnas que tiene la consulta.

Returns:

Definition at line 161 of file postgresiface2.cpp.

References _depura(), and ncampos.

Referenced by FichaCfg::FichaCfg(), and Inventario::imprimirInventario().

00161                        {
00162     _depura("cursor2::numcampos", 0);
00163     _depura("END cursor2::numcampos", 0);
00164     return ncampos;
00165 }

bool cursor2::eof (  ) 

Indica que se ha alcanzado el primer registro de la consulta.

Returns:

Definition at line 284 of file postgresiface2.cpp.

References _depura(), nregistros, and registroactual.

Referenced by libromayorprint::accept(), DiarioPrint::accept(), CuadranteQTextDocument::addTrabajador(), Asiento1_guardaAsiento1_post(), Asiento1View::asiento_apertura(), Asiento1View::asiento_cierre(), Asiento1View::asiento_regularizacion(), BalancePrintView::BalancePrintView(), Asiento1View::boton_cargarasiento(), pgimportfiles::bulmafact2XML(), pgimportfiles::bulmages2Contaplus(), pgimportfiles::bulmages2XML(), RegistroIva::buscaborradorcliente(), RegistroIva::buscaborradorservicio(), ImpCuadrante::buscaConflictos(), RegistroIva::buscafecha(), RegistroIva::buscaNumFactura(), FichaBf::calculaypintatotales(), ListAsientos::cargaasientos(), selectcanalview::cargacanales(), SelectCCosteView::cargacostes(), ListIva::cargaListIva(), SubForm3::cargar(), DBRecord::cargar(), PromedioView::cargar(), Inventario::cargar(), Contrato::cargar(), RutaComercial::cargar(), IncidenciaComercial::cargar(), Asiento1::cargar(), AmortizacionView::cargar(), RegistroIva::cargar(), RegistroIvaView::cargarComboFPago(), ListLinPrevCobro::chargeBudgetLines(), aplinteligentesview::cifcuenta(), InformeQToolButton::click(), ImpQToolButton::click(), pgimportfiles::contaplus2Bulmages(), aplinteligentesview::creaasiento(), linprevcobro::creaPago(), PresupuestoView::detalleArticulos(), CatalogoQToolButton::detalleArticulos(), StructureParser::endElement(), ImportBalance::endElement2(), EFQToolButton::exporta_factura_ubl(), FichaCfg::FichaCfg(), ImpCuadrante::generar(), PedidoProveedorView::generarAlbaran(), PedidoClienteView::generarAlbaran(), InformeArtQToolButton::generarArticulos(), InformeQToolButton::generarCliente(), AlbaranClienteView::generarFactura(), AlbaranProveedorView::generarFacturaProveedor(), InformeCliente::generarInforme(), InformeReferencia::generarinforme(), FichaBf::generaRML(), PresupuestoView::generarPedidoCliente(), abreempresaview::guardaArchivo(), linprevcobro::guardalinprevcobro(), TipoArticuloList::guardar(), CuadranteQTextDocument::impresion(), extractoview1::imprimeExtractoCuenta(), Ticket::imprimir(), PedidoProveedorView::imprimir(), FacturaProveedorView::imprimirFacturaProveedor(), Inventario::imprimirInventario(), listcuentasview1::inicializa(), DuplicarAsientoView::inicializa(), BbloqFecha::inicializa(), Arbol::inicializa(), adocumental::inicializa(), mpatrimonialview::inicializa1(), RegistroIva::inicializa1(), CuadranteView::inicializaCuadrante(), mpatrimonialesview::inicializatabla(), listcuentasview1::inicializatabla(), CuadranteView::inicializaTrabajadores(), aplinteligentesview::inicializavariables(), Asiento1View::iniciar_asiento_nuevo(), Ticket::insertarArticulo(), Ticket::insertarArticuloCodigo(), Ticket::insertarArticuloCodigoNL(), Iva::Iva(), linprevcobro::linprevcobro(), DuplicarAsientoView::lostFocus(), TipoArticuloList::mostrarplantilla(), FamiliasView::mostrarplantilla(), canalview::mostrarplantilla(), CuentaView::nuevacuenta(), CuadranteQTextDocument::on_customContextMenuRequested(), Listado347::on_m_boton_recalcular_clicked(), BusquedaCliente::on_m_cifcliente_textChanged(), BusquedaProveedor::on_m_cifproveedor_textChanged(), BusquedaArticulo::on_m_codigocompletoarticulo_textChanged(), BusquedaFamilia::on_m_codigocompletofamilia_textChanged(), BusquedaTipoArticulo::on_m_codtipo_articulo_textChanged(), BusquedaReferencia::on_mui_abrirtodo_clicked(), DuplicarAsientoView::on_mui_aceptar_clicked(), CAnualesPrintView::on_mui_aceptar_clicked(), extractoview1::on_mui_casacion_clicked(), Abrevs::on_mui_cliente_clicked(), ArticuloView::on_mui_codigocompletoarticulo_editingFinished(), correctorwidget::on_mui_corregir_clicked(), CuadranteView::on_mui_duplicar_clicked(), extractoview1::on_mui_guardarpunteo_clicked(), FamiliasView::on_mui_imprimir_clicked(), CobroView::on_mui_imprimir_clicked(), InventariosView::on_mui_imprimir_clicked(), CuadranteView::on_mui_imprimir_clicked(), listcuentasview1::on_mui_imprimir_clicked(), extractoview1::on_mui_imprimir_clicked(), SubForm2Bf::on_mui_list_cellChanged(), SubForm2Bc::on_mui_list_cellChanged(), SubForm2Bf::on_mui_list_pressedAsterisk(), SubForm2Bc::on_mui_list_pressedAsterisk(), SubForm2Bf::on_mui_list_pressedMinus(), propiedadesempresa::on_mui_modificarplan_clicked(), mpatrimonialview::on_mui_nuevaresta_clicked(), mpatrimonialview::on_mui_nuevasuma_clicked(), FacturaView::on_mui_veralbaranes_clicked(), FacturaProveedorView::on_mui_veralbaranes_clicked(), AlbaranClienteView::on_mui_verpedidocliente_clicked(), AlbaranProveedorView::on_mui_verpedidosproveedor_clicked(), PedidoClienteView::on_mui_verpresupuesto_clicked(), ListLinPrevCobroView::pintalistlinprevcobro(), MTicket::pintar(), TrabajadorView::pintar(), TipoArticuloList::pintar(), FamiliasView::pintar(), BancoView::pintar(), tipoivaview::pintar(), FPagoView::pintar(), fpagoview::pintar(), regivaprintview::presentar(), extractoview1::presentar(), ExtractoPrintView::presentar(), DiarioView::presentar(), DiarioPrintView::presentar(), BalancePrintView::presentar(), BalanceTreeView::presentar(), resmensualview::presentar(), estadisticasview::presentar(), estadisticasview::presentarbarras(), resmensualview::presentarpie(), BalanceView::presentarSyS(), ListCompArticuloView::pressedAsterisk(), AmortizacionSubForm::procesaMenu(), AsientosView::rellenaListaEjercicio(), ccosteview::repintar(), BusquedaArticuloDelegate::s_editTextChanged(), BusquedaCuentaDelegate::s_editTextChanged(), AlbaranClienteView::s_verpresupuesto(), postgresiface2::searchParent(), pgimportfiles::searchParent(), BusquedaTrabajadorDelegate::set(), BusquedaTipoIVADelegate::set(), BusquedaAlmacenDelegate::set(), BusquedaTipoTrabajoDelegate::set(), BusquedaCCosteDelegate::set(), BusquedaCanalDelegate::set(), CuadranteQTextDocument::setAlmFecha(), BusquedaCliente::setcifcliente(), BusquedaProveedor::setcifproveedor(), BusquedaArticulo::setcodigocompletoarticulo(), BusquedaFamilia::setcodigocompletofamilia(), linprevcobro::setcodigoctacliente(), BusquedaCuenta::setcodigocuenta(), linprevcobro::setcodigocuenta(), BusquedaSerieFactura::setcodigoserie_factura(), BusquedaTipoArticulo::setcodtipo_articulo(), BusquedaSerieFactura::setEmpresaBase(), BusquedaAlmacen::setEmpresaBase(), BusquedaAlmacen::setidalmacen(), BusquedaArticulo::setidarticulo(), BusquedaBanco::setidbanco(), BusquedaCCoste::setidc_coste(), BusquedaCanal::setidcanal(), SubForm2Bt::setIdCliente(), SubForm2Bf::setIdCliente(), BusquedaFormaPago::setIdCliente(), BusquedaCliente::setidcliente(), linprevcobro::setidctacliente(), BusquedaCuenta::setidcuenta(), linprevcobro::setidcuenta(), BusquedaFamilia::setidfamilia(), BusquedaFormaPago::setidforma_pago(), SubForm2Bt::setIdProveedor(), SubForm2Bf::setIdProveedor(), BusquedaProveedor::setidproveedor(), BusquedaFormaPago::setIdProveedor(), BusquedaProvincia::setIdProvincia(), BusquedaTarifa::setidtarifa(), BusquedaTipoArticulo::setidtipo_articulo(), BusquedaTipoIva::setidtipo_iva(), Iva::setidtipoiva(), BusquedaTipoTrabajo::setidtipotrabajo(), BusquedaTrabajador::setidtrabajador(), BusquedaZonaComercial::setidzonacomercial(), Arbol::SintetizarRamas(), StructureParser::startElement(), importainteligente::startElement(), ImportBalance::startElement1(), SubForm2Bf_on_mui_list_editFinished(), Ticket_pintar(), Trabajadores::Trabajadores(), ImportBulmaFact::trataAlbaran(), ImportBulmaFact::trataAlmacen(), ImportBulmaFact::trataArticulo(), ImportBulmaFact::trataCliente(), abreempresaview::trataEmpresa(), ImportBulmaFact::trataFactura(), ImportBulmaFact::trataFamilia(), ImportBulmaFact::trataFormaPago(), Ficha::trataIfQuery(), ImportBulmaFact::trataPedidoCliente(), ImportBulmaFact::trataPresupuesto(), ImportBulmaFact::trataProveedor(), Ficha::trataQuery(), FichaBf::trataTotales(), EmpresaTPV::x(), and EmpresaTPV::z().

00284                   {
00285     _depura("cursor2::eof", 0);
00286     if (nregistros == 0) {
00287         return (true);
00288     } // end if
00289     _depura("END cursor2::eof", 0);
00290     return (registroactual >= nregistros);
00291 }

bool cursor2::bof (  ) 

Indica que se ha alcanzado el último registro de la consulta.

Returns:

Definition at line 298 of file postgresiface2.cpp.

References _depura(), nregistros, and registroactual.

Referenced by extractoview1::presentar().

00298                   {
00299     _depura("cursor2::bof", 0);
00300     if (nregistros == 0) {
00301         return(true);
00302     } // end if
00303     _depura("END cursor2::bof", 0);
00304     return (registroactual < 0);
00305 }

bool cursor2::esultimoregistro (  ) 

Informa sobre si el registro actual es el último registro de la consulta.

Returns:

Definition at line 312 of file postgresiface2.cpp.

References _depura(), nregistros, and registroactual.

Referenced by extractoview1::boton_siguiente(), ListAsientos::boton_siguiente(), ListAsientos::esultimoasiento(), ListAsientos::idasientosiguiente(), and ListAsientos::situarasiento().

00312                                {
00313     _depura("cursor2::esultimoregistro", 0);
00314     _depura("END cursor2::esultimoregistro", 0);
00315     return (registroactual == nregistros - 1);
00316 }

bool cursor2::esprimerregistro (  ) 

Informa sobre si el registro actual es el primer registro de la consulta.

Returns:

Definition at line 323 of file postgresiface2.cpp.

References _depura(), and registroactual.

Referenced by extractoview1::boton_anterior(), ListAsientos::boton_anterior(), ListAsientos::esprimerasiento(), and ListAsientos::idasientoanterior().

00323                                {
00324     _depura("cursor2::esprimerregistro", 0);
00325     _depura("END cursor2::esprimerregistro", 0);
00326     return (registroactual == 0);
00327 }


Field Documentation

QString cursor2::nomcursor [private]

El nombre del cursor, (OBSOLETE).

Definition at line 54 of file postgresiface2.h.

Referenced by cursor2().

PGresult* cursor2::result [private]

Estructura en la que se almacena el resultado.

Definition at line 56 of file postgresiface2.h.

Referenced by cerrar(), cursor2(), nomcampo(), and valor().

PGconn* cursor2::conn [private]

Estructura en la que se almacenan los datos de conexión.

Definition at line 58 of file postgresiface2.h.

Referenced by cursor2().

int cursor2::registroactual [private]

Para recorrer una consulta (query) simulamos una cola, esta variable global indica el registro en que nos encontramos situados.

Definition at line 61 of file postgresiface2.h.

Referenced by bof(), cursor2(), eof(), esprimerregistro(), esultimoregistro(), primerregistro(), regactual(), registroanterior(), siguienteregistro(), ultimoregistro(), and valor().

int cursor2::nregistros [private]

Indica el número de registros que tiene la consulta. (La componente vertical del query).

Definition at line 63 of file postgresiface2.h.

Referenced by bof(), cursor2(), eof(), esultimoregistro(), numregistros(), primerregistro(), registroanterior(), siguienteregistro(), and ultimoregistro().

int cursor2::ncampos [private]

Indica el número de campos que tiene la consulta. (La componente horizontal del query).

Definition at line 65 of file postgresiface2.h.

Referenced by cursor2(), and numcampos().

bool cursor2::m_error [private]

Definition at line 66 of file postgresiface2.h.

Referenced by cursor2(), and error().

QString cursor2::m_query [private]

Definition at line 67 of file postgresiface2.h.

Referenced by cursor2(), and query().

QHash<QString, int> cursor2::m_campos [private]

Definition at line 68 of file postgresiface2.h.

Referenced by cursor2(), and numcampo().


The documentation for this class was generated from the following files:
Generated on Sat Dec 15 00:01:49 2007 for BulmaGes by  doxygen 1.5.1