Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
http://willicab.gnu.org.ve/tutogambas-4-manejo-de-...
Elportaldewillicab
1 de 6
16/07/11 08:37
http://willicab.gnu.org.ve/tutogambas-4-manejo-de-...
hRes!campo1="Registro#1" hRes!campo2=300 hRes!campo3=Date(Now()) hRes!campo4=TRUE hRes!campo5=2235644.232 ElobjetoResulttambinpuedeusarsecomounArrayparaguardarlosdatos,seraalgocomo esto: hRes["campo1"]="Registro#1" hRes["campo2"]=Rnd(200,20000) hRes["campo3"]=Date(Now()) hRes["campo4"]=TRUE hRes["campo5"]=2235644.232 Unaventajaalhacerlodeestamaneraesquepodemosporejemplousarvariablesenlugarde cadenas,pudiendopotimizarmaselcdigo,laopcionessonvariadas. Luegoseactualizaelregistro,paraguardarestosdatos: hRes.Update Conestonosaseguramosdequeingresenlosdatosalregistro,finalmentecerramoslatransaccin: $hConn.Commit Encasodeerrorechamostodoelprocesoparaatras: CATCH $hConn.Rollback Podemosverelcdigocompletoac:
2 de 6
16/07/11 08:37
http://willicab.gnu.org.ve/tutogambas-4-manejo-de-...
DIMhResasResult $hConn.Begin hRes=$hConn.Create("tabla") hRes!campo1="Registro#1" hRes!campo2=Rnd(200,20000) hRes!campo3=Date(Now()) hRes!campo4=TRUE hRes!campo5=2235644.232 hRes.Update $hConn.Commit CATCH $hConn.Rollback BuscarRegistros ParabuscarunregistropodemosusarelmtodoFinddelobjetoCollection: hRes=$hconn.Find("tabla")'EstoesequivalenteaSELECT*FROMtabla EstocreaunobjetoResultdesololecturaquenosguardar,enestecasobuscamostodoslos datosqueestnguardadosenlatabla,podemosfiltrarconlaclausulawheredeestamanera:
hRes=$hconn.Find("tabla","campo2<10000")'EstoesequivalenteaSELECT*FROMtablaWHEREcampo2& Conestatendremoscomoresultadotodoslosregistroscuyovalorparacampo2seamenora 10000. Solonosquedaenumerarlasalida FOREACHhRes PRINThRes!campo1 PRINThRes!campo2 PRINThRes!campo3 PRINThRes!campo4 PRINThRes!campo5 NEXT Alfinalelcdigonosquedaas:
3 de 6
16/07/11 08:37
http://willicab.gnu.org.ve/tutogambas-4-manejo-de-...
DIMhResASResult hRes=$hconn.Find("tabla","campo2<10000") FOREACHhRes PRINThRes!campo1 PRINThRes!campo2 PRINThRes!campo3 PRINThRes!campo4 PRINThRes!campo5 NEXT EditarunRegistro Loprimeroquedebemoshaceresiniciarunatransaccin $hconn.Begin LuegocreamosunobjetoResultdelecturayescriturausandolafuncinEditdelaclase Connection,aligualquelafuncinFindusaremoscomoprimerparametroelnombredelatablay comosegundoparametrolaclausulawhereparaobtenerresultadosmasprecisos. hRes=$hconn.Edit("tabla","campo2<10000") Enestecasobuscartodoslosregistroscuyovalordecampo2seamenora10000,generalmente sebuscaeditarunsoloregistro,paraestobuscamosporejemploelcampoqueseaclaveprimaria queennuestroejemploesid. Ahoraeditamosloscampos. FOREACHhRes hRes!campo1="Campoconvalormenora10000" hRes.Update NEXT Enestecasoiremosregistroporregistroeditandocampo1,esimportantequeluegosecoloquela lineahRes.Updateparaguardarlosregistros,sisolovanaeditarunregistrononecesitarusarel FOREACH. Otracuestinquehayqueacotaressobreellimitequelecolocamosaloscampos,sirecordamos enelTutoGambas#2habamoscreadocampo2comouncampodetipostringyunalongitudde16 caracteresperoenlaedicincolocamosunacadenade29,nonosdarerrorperosivemosel resultadosolonosguardarCampoconvalor.
4 de 6
16/07/11 08:37
http://willicab.gnu.org.ve/tutogambas-4-manejo-de-...
Finalizamoscerrandolatransaccin. $hconn.Commit Odevolviendolasihaocurridounerror. CATCH $hconn.Rollback Elcdigocompletoseveraas. DIMhResASResult $hconn.Begin hRes=$hconn.Edit("tabla","campo2<10000") FOREACHhRes hRes!campo1="Campoconvalormenora10000" hRes.Update NEXT $hconn.Commit CATCH $hconn.Rollback ElmtodoExec Sialgunodemtodosanterioressequedacortosiemprepodemoscrearnuestraspropias sentenciasSQLusandoelelmetodoExec hRes=hConn.Exec("TusentenciaSQL") EstemtodosiemprevaadevolverunobjetoResultaunquenosernecesarioentodosloscasos.
ShareandEnjoy:
5 de 6
16/07/11 08:37
http://willicab.gnu.org.ve/tutogambas-4-manejo-de-...
EstaentradafuepublicadaenTutoGambasyetiquetadaBasesdeDatos,Gambasporwillicab. Guardaenlacepermanente[http://willicab.gnu.org.ve/tutogambas-4-manejo-de-registrosen-una-base-de-datos-crear-buscar-modificar-y-eliminar/].
UNPENSAMIENTOENTUTOGAMBAS#4:MANEJODEREGISTROSENUNABASEDEDATOS(CREAR,BUSCAR,MODIFICARY ELIMINAR)
yaniraaguero enoctubre28,2010en11:40pmdijo:
6 de 6
16/07/11 08:37