Experiencia Sobre Bases.MDB Segunda parte

Experiencia Sobre Bases.MDB Segunda parte

Postby juan carlos bellucci » Thu Aug 23, 2012 3:01 pm

Hola Foro esta es una simple contribución de mi parte, cada uno podrá mejorar obviamente estos ejemplos.

1.- Primer paso crear una clase TStock.prg Recuerde una sola clase por prg

2.- crear el modulo de manejo


Abrir la tabla con las ordenes mencionada anteriormente

Ejemplo

Function Main()

Local Data1
Local oST

Data1 := Usar( oCone, "SELECT * FROM STOCK " )

oST := TStock():New( Data1 )
oST:Carga()

? oST:Codigo

REturn( Nil )
//----------------------------------------------------------------------------//
#Include "Fivewin.ch"

Class TStock
export:
data xTabla
data Registro
data Codigo
data Detalle
data Marca
data Existencia
data Costo


Method New // constructor
Method Carga // carga un registro
Method Nuevo // inicializa variables
Method Blanco // abre un registro en blanco
Method Graba
Method End()

EndClass
//----------------------------------------------------------------------------//
Method New( xData )
::xTabla := xData
Return SELF
//----------------------------------------------------------------------------//
Method Carga
If !Empty( ::xTabla )
If ::xTabla:Recordcount > 0
::Registro := ::xTabla:Fields("Registro"):Value
::Codigo := ::xTabla:Fields("Codigo"):Value
::Detalle := ::xTabla:Fields("Detalle"):Value
::Marca := ::xTabla:Fields("Marca"):Value
::Existencia := ::xTabla:Fields("Existencia"):Value
::Costo := ::xTabla:Fields("Costo"):Value

Else
::Registro := 0
::Codigo := Space(50)
::Detalle := Space(100)
::Marca := Space(30)
::Color := Space(20)
::Existencia := 0.00
::Costo := 0.00

::Blanco()
EndIf
Else
::Nuevo()
EndIf
Return Self
//----------------------------------------------------------------------------//
//----------------------------------------------------------------------------//
Method Nuevo
Local nR := 0
If ::xTabla:RecordCount > 0
::xTabla:MoveLast()
nR := ::xTabla:Fields("Registro"):Value + 1
Else
nR := 1
EndIf
::Registro := nR
::Codigo := Space(50)
::Detalle := Space(100)
::Marca := Space(30)
::Existencia := 0.00
::Costo := 0.00
Return SELF
//----------------------------------------------------------------------------//
Method Blanco //
::xTabla:AddNew()
Return SELF
//----------------------------------------------------------------------------//

Method Graba

::xTabla:Fields("Codigo"):Value := ::Codigo
::xTabla:Fields("Detalle"):Value := ::Detalle
::xTabla:Fields("Marca"):Value := ::Marca
::xTabla:Fields("Existencia"):Value := ::Existencia
::xTabla:Fields("Costo"):Value := ::Costo
::xTabla:UpDate()
Return SELF



cualquier duda consultarme por aqui... un abrazo a todos, y larga vida a fivewin.
juan carlos bellucci
 
Posts: 115
Joined: Sat Mar 07, 2009 9:36 pm
Location: Argentina

Return to FiveWin para Harbour/xHarbour

Who is online

Users browsing this forum: No registered users and 30 guests

cron