FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin para Harbour/xHarbour ODbc en listbox no me presenta datos
Posts: 71
Joined: Mon Oct 10, 2005 09:24 PM
ODbc en listbox no me presenta datos
Posted: Tue Nov 15, 2005 04:53 PM

Hola a todos, estoy haciendo pruebas con odbc en fwh2.4 pero al hacer el lisbox no me presenta ninguna informacion.

*-----------------------------------------------------------------
FUNCTION BrwEmpresas(oWnd ,oODbc )
LOCAL oDlg,oDlgCtrlCat,oGRID,oFontBrw,oLBX,oParMulti
local aObj := {}
Local oTb
Local oBAltas,oBModificar,oBBorrar, oBSeleccion,obSalir
Local lNEmp

oTb := TDbOdbc():New( "empresas", oODbc)
//oTb := TRecordSet():New(oOdbc,,"Empresas")
oInspect( oTb)

DEFINE FONT oFontBrw Name "Ms Sans Serif" SIZE 0,-11

DEFINE DIALOG oDlg RESOURCE "DLGMANDB" FONT oFontBrw

REDEFINE LISTBOX oLbx ;
FIELDS oTb:FieldGet(1) ,;// Campos que contendr 
oTb:FieldGet( 2 ) ,; // el TBrowse.
oTb:FieldGet( 3 ) , ;
otb:FieldGet( 8 ) ;
ID 101;
FIELDSIZES 50, 310, 250, 150, 100; // Dimensiones de c/campo (en pixeles)
HEADERS "Empresa", "Nombre de la Empresas", "Direccion de la Empresa", "R.F.C.";
FONT oFontBrw ;
ON LEFT DBLCLICK AltasCias( oLbx, .f., oTb) ;
OF oDlg

          oLbx:bKeyDown := {|nKey| iif(nKey==13 .OR. nKey==32, (SelEmpresa( oWnd, oTb  ),oTb:Destroy() ,oDlg:End()) , ) }

// oTb:SetBrowse( oLbx , .f.)
oLbx:Refresh()
oLbx:lCellStyle := .T. // Solo para FW 2.00 ¢ superior
oLbx:nLineStyle := 3 // Solo para FW 2.00 ¢ superior

REDEFINE BUTTON oBAltas ID 202 OF oDlg ;
ACTION (AltasCias( ID_AALT, oTb ) ,SelEmpresa(oWnd, oTb), oLbx:Refresh() , oTb:Close() ,oDlg:End() , SysRefresh() )

REDEFINE BUTTON oBModificar ID 203 OF oDlg ;
ACTION AltasCias( ID_AMOD, oTb )

REDEFINE BUTTON oBBorrar ID 204 OF oDlg ;
ACTION ( if( MsgYesNo( OemToAnsi( ;
"¨Seguro que quiere borrar la Empresa " + oTb:nombre ) ), ;
DelCias(ID_BAJ, oTb , "empresas" , oTb:nombre ) , oTb:refresh() ) )

REDEFINE BUTTON oBSeleccion ID 201 OF oDlg ;
ACTION (SelEmpresa(oWnd , oTb ), SysRefresh() ,oDlg:End())

REDEFINE BUTTON oBSalir ID 206 OF oDlg ;
ACTION ( oTb:Close(), oDlg:End())

ACTIVATE DIALOG oDlg CENTER
oFontBrw:End()

RETURN( NIL )

saludos y gracias.

fernando sandoval ruiz
fsandoval@hotmail.com
Posts: 840
Joined: Thu Oct 13, 2005 07:05 PM
ODbc en listbox no me presenta datos
Posted: Tue Nov 15, 2005 08:12 PM

No van por ahi los tiros.

1) Necesitas instalar el controlador ODBC para la base de datos a la cual te quieres conectar

2) Necesitas crear un DSN de sistema en el Adminstrador de fuentes de datos ODBC

3) Luego necesitas crear el objecto ODBC y luego un objeto DBODBC.

Yo te aconsejo que mejor utilices OLE DB es mucho mas rapido y menos complicado.

Saludos

R.F.
Posts: 71
Joined: Mon Oct 10, 2005 09:24 PM
Rene mil gracias por contestar.
Posted: Wed Nov 16, 2005 01:29 PM

Tengo instalado el odbc de mysql, la conexion la hace , si pongo un msginfo( Tb:Fieldget(2)) me despliega el contenido del campo, mi pregunta es porque al hace el listbox no me presenta nada de informacion , habre la caja del listbos pero no presenta informacion.

Igualmente con los dialogos he tenido muchos problemas, lso checkbos los cambiado por radiobutton, wbrowse , con algunas pantallas no me funcionan al abrir la venta se cierra el sistema.

en fin que ya estoy echo un camote con esto ya le cambio una cosa avanzo algo y me salta otra libre.

saludos.
fernando sandoval ruiz

fernando sandoval ruiz
fsandoval@hotmail.com
Posts: 337
Joined: Fri Oct 07, 2005 02:44 PM
Te faltan algunas cosas
Posted: Tue Nov 22, 2005 09:15 PM

Hola,

Para poder usar el browse te faltan algunas cosas como :

olbx:bgotop:={||.....} // Bloque de codigo para ir al primer registro
olbx:bgobottom:={||...} // Bloque de codigo para ir al ultimo registro
olbx:bskip:={|nskip|....} // Bloque de codigo que salta nregistros
olbx:blogiclen:={||...} // bloque de codigo que devuelve la cantida de
//registros de la grilla

No te puedo dar los bloques porque yo uso todbcdirect modificada por mi y no conozco los metodos de tu clase para leer los recordset.

Atte,
Lautaro Moreira

Hola,

Soy un Contador que por necesidad aprendio a programar y se quedo programando.
Posts: 71
Joined: Mon Oct 10, 2005 09:24 PM
Uso los ODBC nativos de FW
Posted: Sun Dec 04, 2005 07:21 PM

Gracias lautaro, por contestar uso la clases de fw ,normales con cambios minimos echos por mi.

te agadesco mucho si puedes enviarme de los recordset , o las odbc como tu las tienes y yo integrare los cambios que echo.

saludos
fernando sandoval ruiz

fernando sandoval ruiz
fsandoval@hotmail.com
Posts: 337
Joined: Fri Oct 07, 2005 02:44 PM
Usar browse con odbc
Posted: Mon Dec 05, 2005 08:55 PM

Hola,

Aqui estan los codigos para usar segun la sintaxis de tdbodbc

olbx:bgotop:={||otb:gotop()} // Bloque de codigo para ir al primer
//registro
olbx:bgobottom:={||otb:gobottom()} // Bloque de codigo para ir al
//ultimo registro
olbx:bskip:={|nskip,nold,nsaltos|nold:=otb:recno(),otb:skip(nskip),nsaltos:=nold-otb:recno(),if(nsaltos+nold < 0,nsaltos:=1,nil),if(nsaltos+nold > otb:reccount(),nsaltos:=otb:reccount(),nil),nsaltos}
// Bloque de codigo que salta nregistros
olbx:blogiclen:={||otb:reccount()} // bloque de codigo que devuelve la cantida de
//registros de la grilla

Atte,
Lautaro Moreira

Hola,

Soy un Contador que por necesidad aprendio a programar y se quedo programando.

Continue the discussion