ODbc en listbox no me presenta datos

Post Reply
fsandoval
Posts: 71
Joined: Mon Oct 10, 2005 9:24 pm
Location: aguascalientes

ODbc en listbox no me presenta datos

Post by fsandoval »

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
R.F.
Posts: 840
Joined: Thu Oct 13, 2005 7:05 pm

Post by R.F. »

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.
fsandoval
Posts: 71
Joined: Mon Oct 10, 2005 9:24 pm
Location: aguascalientes

Rene mil gracias por contestar.

Post by fsandoval »

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 _ 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
User avatar
Lautaro
Posts: 322
Joined: Fri Oct 07, 2005 2:44 pm
Location: Osorno, Chile
Contact:

Te faltan algunas cosas

Post by Lautaro »

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
fsandoval
Posts: 71
Joined: Mon Oct 10, 2005 9:24 pm
Location: aguascalientes

Uso los ODBC nativos de FW

Post by fsandoval »

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 _ que echo.

saludos
fernando sandoval ruiz
fernando sandoval ruiz
fsandoval@hotmail.com
User avatar
Lautaro
Posts: 322
Joined: Fri Oct 07, 2005 2:44 pm
Location: Osorno, Chile
Contact:

Usar browse con odbc

Post by Lautaro »

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
Post Reply