Private Sub Boton_Artes_Click(ByVal sender As System.Object, ByVal e As System.ventAr!s" #andles Boton_Artes.Click
$im %rmArtes As &e' Gestion_Artes(" %rmArtes.(diParent ) (e %rmArtes.S*o'(" nd Sub Private Sub Gescomic_+ormClosed(ByVal sender As Object, ByVal e As System.,indo's.+orms.+ormClosedventAr!s" #andles (e.+ormClosed cerrar_cone-ion(" nd Sub Private Sub Gescomic_.oad(ByVal sender As Object, ByVal e As System.ventAr!s" #andles (e..oad $im cone-ion_e-itosa As Boolean ) +alse cone-ion_e-itosa ) ConectarB$(" /% cone-ion_e-itosa ) +alse 0*en (s!Bo-(1A0&C/2&3 +allo en la cone-i4n de la B$. 1, (s!Bo-Style.Critical" nd /% nd Sub Private Sub Boton_+ormatos_Click(ByVal sender As System.Object, ByVal e As System.ventAr!s" #andles Boton_+ormatos.Click 5$im %rm As &e' +orm6(" 5%rm.(diParent ) (e 5%rm.S*o'(" nd Sub nd Class Public Class Gestion_Artes Private Sub Gestion_Artes_.oad(ByVal sender As Object, ByVal e As System.ventAr!s" #andles (e..oad rellenar_!rid_artes(" nd Sub Private Sub rellenar_!rid_artes(" $im s7l As Strin! s7l ) 1S.C0 CO&CA0(5&o_modi%icado5" as 5stado5, idarte, nombre_arte as 5Arte5 +8O( arte O8$8 B9 nombre_arte1 car!ar_data!rid($GV_artes, s7l" 5#a!o invisible la columna de identi%icaci4n de tareas. $GV_Artes.Columns(1stado1".Visible ) +alse $GV_Artes.Columns(1idarte1".Visible ) +alse $GV_Artes.Columns(1Arte1".,idt* ) :;< nd Sub Private Sub Boton(enu_Guardar_Click(ByVal sender As System.Object, ByVal e As System.ventAr!s" #andles Boton(enu_Guardar.Click $im tabla As &e' $ataSet $im /d_insertada As Strin! $im - As /nte!er tabla ) $GV_Artes.$ataSource +or - ) < 0o $GV_Artes.8o's.Count(" = : /% /s$B&ull($GV_Artes(1idarte1, -".Value" 0*en /% &ot /s$B&ull($GV_Artes(1Arte1, -".Value" 0*en /d_insertada ) .an>ar_insert_arte($GV_Artes(1Arte1, -".Value" nd /% lse /% $GV_Artes(1stado1, -".Value ) 1(odi%icado1 0*en .an>ar_u?date_arte($GV_Artes(1idarte1, -".Value, $GV_Artes(1Arte1, -".Value" nd /% nd /% &e-t rellenar_!rid_artes(" nd Sub 5Cada ve> 7ue se ?rodu>ca una modi%icacion en la tabla com?ruebo ?ara el id ?ara marcar 5la %ila como nueva o modi%icada. Private Sub $GV_Artes_Cellnddit(ByVal sender As Object, ByVal e As System.,indo's.+orms.$ataGridVie'CellventAr!s" #andles $GV_Artes.Cellnddit /% /s$B&ull($GV_Artes(1idarte1, $GV_Artes.Current8o'./nde-".Value" 0*en $GV_Artes(1stado1, $GV_Artes.Current8o'./nde-".Value ) 1&uevo1 lse $GV_Artes(1stado1, $GV_Artes.Current8o'./nde-".Value ) 1(odi%icado1 nd /% nd Sub Private +unction .an>ar_insert_arte(ByVal Arte As Strin!" As Strin! $im s7l As Strin! $im o?eracion_e-itosa As Boolean $im /$_insertada As Strin! s7l ) 1/&S80 /&0O arte 1 _ @ 1(nombre_arte" VA.AS (1 _ @ 151 @ Arte @ 15"1 /$_insertada ) lan>ar_/nsert(s7l, $BCon, o?eracion_e-itosa, 0rue" 8eturn /$_insertada nd +unction Private Sub .an>ar_u?date_arte(ByVal arte_/$ As Strin!, ByVal arte As Strin!" $im s7l As Strin! $im o?eracion_e-itosa As Boolean s7l ) 1AP$A0 arte S0 1 _ @ 1nombre_arte ) 51 @ arte @ 15 1 _ @ 1,#8 idarte ) 1 @ arte_/$ lan>ar_/nsert(s7l, $BCon, o?eracion_e-itosa, +alse" nd Sub 50enemos 7ue %or>ar al sistema a 7ue no com?ruebe el llenado de la celda o ?odriamos encontrarnos 5con 7ue no tenemos datos en una celda al llamar al ?rocedimiento de salvado. Private Sub $GV_Artes_CurrentCell$irtyStateC*an!ed(ByVal sender As Object, ByVal e As System.ventAr!s" #andles $GV_Artes.CurrentCell$irtyStateC*an!ed /% $GV_Artes./sCurrentCell$irty 0*en 5ste metodo obli!a a lan>ar un commit a la tabla ?ara 7ue introdu>ca el dato tecleado en ella $GV_Artes.Commitdit($ataGridVie'$atarrorConte-ts.Commit" nd /% nd Sub Private Sub Boton(enu_liminar_Click(ByVal sender As System.Object, ByVal e As System.ventAr!s" #andles Boton(enu_liminar.Click $im s7l As Strin! $im o?eracion_e-itosa As Boolean $im datos As System.$ata./$ata8eader s7l ) 1(S.C0 COA&0(idarte" +8O( artista"1 _ @ 1A&/O&1 _ @ 1(S.C0 COA&0(idarte" +8O( artistasvscomics"1 datos ) lan>ar_Select(s7l, $BCon, o?eracion_e-itosa"
5n caso de tener seleccionado un dato en el data!ri? /% (e.$GV_Artes.8o's.Count B < 0*en /% (e.$GV_Artes.Current8o'./nde- B =6 0*en /% &ot /s$B&ull($GV_Artes(1idarte1, $GV_Artes.Current8o'./nde-".Value" 0*en /% datos.8ead(" 0*en /% datos.GetStrin!(<" ) < 0*en s7l ) 1$.0 +8O( arte ,#8 idarte ) 1 @ $GV_Artes(1idarte1, $GV_Artes.Current8o'./nde-".Value lan>ar_/nsert(s7l, $BCon, o?eracion_e-itosa, +alse" rellenar_!rid_artes(" lse (s!Bo-(1A0&C/2&3 l arte seleccionado esta siendo usado en las tablas Artistas yCo ArtistasvsComics 1, (s!Bo-Style.Critical" nd /% nd /% lse $GV_Artes.8o's.8emove($GV_Artes.Current8o'" nd /% lse (s!Bo-(1A0&C/2&3 Seleccione una %ila ?ara eliminar. 1, (s!Bo-Style.Critical" nd /% nd /% nd Sub nd Class (O$A.O CO&D/O& /m?orts (ySE.$riverCS /m?orts System.$ata (odule cone-ion Public $BCon As (ySE.Connection 5FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 5&ombre3 ConectarB$. 5Creador3 +V8. 5+ec*a :6C<GC:<66 5$escri?cion3 +uncion 7ue conecta con la base de datos, la cone-ion 7ueda abierta *asta 7ue se llama a la %unci4n 5 cerrar cone-i4n 5FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF Public +unction ConectarB$(" As Boolean $im bCone-ion-itosa As Boolean bCone-ion-itosa ) 0rue 5Se establece la cadena de cone-i4n a la B$ 5Base de datos de ?rueba 5$BCon ) &e' (ySE.Connection(&e' (ySE.ConnectionStrin!(16H:.6IJ.6I<.:<1, 1adin!:.<1, 1root1, 1(?bcn:<<K<HL1, GG<I".AsStrin!" 5base de datos real $BCon ) &e' (ySE.Connection(&e' (ySE.ConnectionStrin!(1local*ost1, 1comics1, 1root1, 1arrakis1, GG<I".AsStrin!" 0ry $BCon.O?en(" Catc* e- As (ySE.-ce?tion (s!Bo-(e-.(essa!e.0oStrin!" bCone-ion-itosa ) +alse nd 0ry 8eturn (bCone-ion-itosa" nd +unction 5FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 5&ombre3 cerrar_cone-ion. 5Creador3 +V8. 5+ec*a :6C<GC:<66 5$escri?cion3 +uncion 7ue cierra la cone-ion con la base de datos 5FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF Public Sub cerrar_cone-ion(" $BCon.Close(" nd Sub 5FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 5&ombre3 lan>ar_Select. 5Creador3 +V8. 5+ec*a :6C<GC:<66 58ecibe3 7uery(cadena" Select 7ue se lan>a contra la base de datos, cone-ion((ySE.Connection" cone-i4n con la base de datos 5 o?eracion_e-itosa(booleano ?or re%erencia", variable 7ue indica si no *a *abido ?roblema en la cone-i4n 5$evuelve3 objeto /$ata8eader con los datos obtenidos en la consulta 5$escri?cion3 +uncion reali>a una consulta a una base de datos abierta mediante el objeto (ySE.Connection. 5FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF Public +unction lan>ar_Select(ByVal 7uery As Strin!, ByVal cone-ion As (ySE.Connection, By8e% o?eracion_e-itosa As Boolean" As System.$ata./$ata8eader $im comando As (ySE.Command ) &e' (ySE.Command $im datos As System.$ata./$ata8eader datos ) &ot*in! 0ry comando.Connection ) $BCon comando.Command0e-t ) 7uery datos ) comando.-ecute8eader(" o?eracion_e-itosa ) 0rue Catc* e- As (ySE.-ce?tion (s!Bo-(e-.(essa!e.0oStrin!" o?eracion_e-itosa ) +alse nd 0ry 8eturn (datos" nd +unction 5FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 5&ombre3 lan>ar_/nsert. 5Creador3 +V8. 5+ec*a :6C<GC:<66 58ecibe3 7uery(cadena" Select 7ue se lan>a contra la base de datos, cone-ion((ySE.Connection" cone-i4n con la base de datos 5$evuelve3 objeto /$ata8eader con los datos obtenidos en la consulta 5$escri?cion3 +unci4n 7ue reali>a o?eraciones atomicas (/nsert, A?date, $elete" en la base de datos, no se es?era devoluci4n de datos. 5FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF Public +unction lan>ar_/nsert(ByVal 7uery As Strin!, ByVal cone-ion As (ySE.Connection, By8e% o?eracion_e-itosa As Boolean, ByVal devolver_/$ As Boolean" As Strin! $im comando As (ySE.Command ) &e' (ySE.Command 0ry comando.Connection ) $BCon comando.Command0e-t ) 7uery comando.-ecute8eader(" o?eracion_e-itosa ) 0rue Catc* e- As (ySE.-ce?tion (s!Bo-(e-.(essa!e.0oStrin!" o?eracion_e-itosa ) +alse nd 0ry /% devolver_/$ ) 0rue 0*en 8eturn last_/$(" lse 8eturn (11" nd /% nd +unction 5FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 5&ombre3 last_/$. 5Creador3 +V8. 5+ec*a 6:C<;C:<66 5$evuelve3 cadena de caracteres con el /denti%icativo del ultimo re!istro insertado en la base de datos. 5$escri?cion3 +unci4n 7ue devuelve el identi%icativo lan>ando una consulta last_insert_id sobre el *ilo del usuario en la B$. 5FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF Private +unction last_/$(" As Strin! $im datos As System.$ata./$ata8eader $im o?eracion_e-itosa As Boolean $im 7uery As Strin! 7uery ) 1select last_insert_id("1 datos ) lan>ar_Select(7uery, $BCon, o?eracion_e-itosa" datos.8ead(" 8eturn (datos./tem(<"" nd +unction 5FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 5&ombre3 car!ar_ComboBo-. 5Creador3 +V8. 5+ec*a :6C<GC:<66 58ecibe3 combobo-(combobo-" objeto combobo- a rellenar, 7uery(cadena" Select 7ue se lan>a contra la base de datos 5$escri?cion3 Subrutina 7ue rellena un control combobo- con los datos obtenidos en una consulta SE. 5FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF Public Sub car!ar_ComboBo-(ByVal ComboBo- As ComboBo-, ByVal s7l As Strin!" $im cmd As &e' (ySE.Command(s7l, $BCon" 5 /niciali>ar un nuevo S7l$ataAda?ter $im da As &e' (ySE.$ataAda?ter(cmd" 5Crear y .lenar un $ataset $im ds As &e' $ataSet 0ry da.+ill(ds" 5 asi!nar el $ataSource al combobo- ComboBo-.$ataSource ) ds.0ables(<" 5 Asi!nar el cam?o a la ?ro?iedad $is?lay(ember del combo ComboBo-.$is?lay(ember ) ds.0ables(<".Columns(<".Ca?tion.0oStrin! Catc* e- As -ce?tion (essa!eBo-.S*o'(e-.(essa!e.0oStrin!, 1error1, (essa!eBo-Buttons.OM, (essa!eBo-/con.rror" nd 0ry nd Sub 5FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 5&ombre3 car!ar_ComboBo-_/$. 5Creador3 +V8. 5+ec*a :6C<GC:<66 58ecibe3 combobo-(combobo-" objeto combobo- a rellenar, 7uery(cadena" Select 7ue se lan>a contra la base de datos 5 value(ember(cadena" valor 7ue se utili>ara como re%erencia de indice, dis?lay(ember valor 7ue se mostrara en el combo 5$escri?cion3 Subrutina 7ue rellena un control combobo- con los datos obtenidos en una consulta SE. 5FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF Public Sub car!ar_ComboBo-_/$(ByVal ComboBo- As ComboBo-, ByVal s7l As Strin!, ByVal dis?lay(ember As Strin!, ByVal value(ember As Strin!" $im cmd As &e' (ySE.Command(s7l, $BCon" 5 /niciali>ar un nuevo S7l$ataAda?ter $im da As &e' (ySE.$ataAda?ter(cmd" 5Crear y .lenar un $ataset $im ds As &e' $ataSet 0ry da.+ill(ds" 5 asi!nar el $ataSource al combobo- ComboBo-.$ataSource ) ds.0ables(<" 5 Asi!nar el cam?o a la ?ro?iedad $is?lay(ember del combo 5ComboBo-.$is?lay(ember ) ds.0ables(<".Columns(<".Ca?tion.0oStrin! ComboBo-.Value(ember ) value(ember ComboBo-.$is?lay(ember ) dis?lay(ember Catc* e- As -ce?tion (essa!eBo-.S*o'(e-.(essa!e.0oStrin!, 1error1, (essa!eBo-Buttons.OM, (essa!eBo-/con.rror" nd 0ry nd Sub 5FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 5&ombre3 car!ar_data!rid. 5Creador3 +V8. 5+ec*a :6C<GC:<66 58ecibe3 data!rid($ataGridVie'" objeto combobo- a rellenar, 7uery(cadena" Select 7ue se lan>a contra la base de datos 5$escri?cion3 Subrutina 7ue rellena un control $ataGridVie' con los datos obtenidos en una consulta SE. 5FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF Public Sub car!ar_data!rid(ByVal data!rid As $ataGridVie', ByVal s7l As Strin!" $im cmd As &e' (ySE.Command(s7l, $BCon" 5 /niciali>ar un nuevo S7l$ataAda?ter $im da As &e' (ySE.$ataAda?ter(cmd" 5Crear y .lenar un $ataset $im ds As &e' $ataSet 0ry da.+ill(ds, 1consulta1" data!rid.$ataSource ) ds data!rid.$ata(ember ) 1consulta1 Catc* e- As -ce?tion (essa!eBo-.S*o'(e-.(essa!e.0oStrin!, 1error1, (essa!eBo-Buttons.OM, (essa!eBo-/con.rror" nd 0ry nd Sub Public +unction devolver_albol(ByVal s7l As Strin!" As $ataSet $im cmd As &e' (ySE.Command(s7l, $BCon" 5 /niciali>ar un nuevo S7l$ataAda?ter $im da As &e' (ySE.$ataAda?ter(cmd" 5Crear y .lenar un $ataset $im ds As &e' $ataSet 0ry da.+ill(ds, 1consulta1" Catc* e- As -ce?tion (essa!eBo-.S*o'(e-.(essa!e.0oStrin!, 1error1, (essa!eBo-Buttons.OM, (essa!eBo-/con.rror" nd 0ry 8eturn ds nd +unction Public +unction devolver_id_estado(ByVal nombre_interno As Strin!" As Strin! $im /$ As Strin! $im s7l As Strin! $im dr As System.$ata./$ata8eader $im o?eracion_e-itosa As Boolean s7l ) 1S.C0 est_ia_id +8O( estados ,#8 est_c_nombre_interno ) 51 @ nombre_interno @ 151 dr ) lan>ar_Select(s7l, $BCon, o?eracion_e-itosa" /% dr.8ead(" 0*en /$ ) dr.GetStrin!(<".0oStrin! lse /$ ) 1&o1 nd /% 8eturn (/$" nd +unction Public +unction devolver_*oras_dia(ByVal %ec*a As $ate" As Strin! $im s7l As Strin! $im dr As System.$ata./$ata8eader $im o?eracion_e-itosa As Boolean $im *oras As Strin! /% %ec*a.$ayO%,eek ) $ayO%,eek.Saturday Or %ec*a.$ayO%,eek ) $ayO%,eek.Sunday 0*en *oras ) 1<.<<1 8eturn *oras nd /% s7l ) 1S.C0 CAS0(cal_%_*oras as C#A8" +8O( calendario_laboral ,#8 cal_d_%ec*a ) 51 @ +ormat(%ec*a, 1yyyy=((=dd1" @ 151 dr ) lan>ar_Select(s7l, $BCon, o?eracion_e-itosa" *oras ) 1J.K;1 /% dr.8ead(" 0*en *oras ) dr.GetStrin!(<".0oStrin! lse /% %ec*a.$ayO%,eek ) $ayO%,eek.+riday 0*en *oras ) 1I.;<1 nd /% nd /% 8eturn *oras nd +unction 5FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 5&ombre3 lan>ar_/nsert. 5Creador3 +V8. 5+ec*a :6C<GC:<66 58ecibe3 7uery(cadena" Select 7ue se lan>a contra la base de datos, cone-ion((ySE.Connection" cone-i4n con la base de datos 5$evuelve3 objeto /$ata8eader con los datos obtenidos en la consulta 5$escri?cion3 +unci4n 7ue reali>a o?eraciones atomicas (/nsert, A?date, $elete" en la base de datos, no se es?era devoluci4n de datos. 5FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 555 NsummaryB 555 +unci4n 7ue reali>a o?eraciones atomicas (/nsert, A?date, $elete" en la base de datos, no se es?era devoluci4n de datos. 555 NCsummaryB 555 N?aram name)17uery1BStrin! con la consulta SE. 7ue va ser lan>adaNC?aramB 555 N?aram name)1cone-ion1BObjeto (ySE.Connection 7ue direcciona la base de datosNC?aramB 555 N?aram name)1o?eracion_e-itosa1BBooleano donde almacenamos el resultado de la o?eraci4nNC?aramB 555 NremarksBNCremarksB Public Sub lan>ar_/nsert_variante(ByVal 7uery As Strin!, ByVal cone-ion As (ySE.Connection, By8e% o?eracion_e-itosa As Boolean, O?tional By8e% transaccion As (ySE.0ransaction ) &ot*in!" $im comando As (ySE.Command ) &e' (ySE.Command transaccion ) $BCon.Be!in0ransaction 0ry comando.Connection ) $BCon comando.0ransaction ) transaccion comando.Command0e-t ) 7uery comando.-ecute8eader(" o?eracion_e-itosa ) 0rue Catc* e- As (ySE.-ce?tion (s!Bo-(e-.(essa!e.0oStrin!" o?eracion_e-itosa ) +alse nd 0ry nd Sub 5FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 5&ombre3 /niciar_transaccion. 5Creador3 +V8. 5+ec*a 6GC<HC:<66 58ecibe3 cone-ion((ySE.Connection" cone-i4n con la base de datos. 5$escri?cion3 /nicia una transacci4n de base de datos. S (A9 /(PO80A&0 C88A8 .AS 08A&SACC/O&S $ BASS $ $A0OS. 5 ASA8 S0OS P8OC$/(/&0OS CO& (AC#A P8CAAC/2&. 5FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF Public Sub /niciar_transaccion(ByVal cone-ion As (ySE.Connection" $im comando As (ySE.Command ) &e' (ySE.Command 0ry comando.Connection ) $BCon comando.Command0e-t ) 1S0A80 08A&SAC0/O&O1 Catc* e- As (ySE.-ce?tion (s!Bo-(e-.(essa!e.0oStrin!" nd 0ry nd Sub 5FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 5&ombre3 CO((/0. 5Creador3 +V8. 5+ec*a 6GC<HC:<66 58ecibe3 cone-ion((ySE.Connection" cone-i4n con la base de datos. 5$escri?cion3 .an>a un commit a la B$ dando ?or buenos los re!istros y cambios insertados. 5 S (A9 /(PO80A&0 C88A8 .AS 08A&SACC/O&S $ BASS $ $A0OS. ASA8 S0OS P8OC$/(/&0OS CO& (AC#A P8CAAC/2&. 5FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF Public Sub Commit(ByVal cone-ion As (ySE.Connection" $im comando As (ySE.Command ) &e' (ySE.Command 0ry comando.Connection ) $BCon comando.Command0e-t ) 1CO((/0O1 Catc* e- As (ySE.-ce?tion (s!Bo-(e-.(essa!e.0oStrin!" nd 0ry nd Sub 5FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 5&ombre3 8O..BACM. 5Creador3 +V8. 5+ec*a 6GC<HC:<66 58ecibe3 cone-ion((ySE.Connection" cone-i4n con la base de datos. 5$escri?cion3 .an>a un 8O..BACM a la B$ dando ?or buenos los re!istros y cambios insertados. 5 S (A9 /(PO80A&0 C88A8 .AS 08A&SACC/O&S $ BASS $ $A0OS. ASA8 S0OS P8OC$/(/&0OS CO& (AC#A P8CAAC/2&. 5FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF Public Sub 8O..BACM(ByVal cone-ion As (ySE.Connection" $im comando As (ySE.Command ) &e' (ySE.Command 0ry comando.Connection ) $BCon comando.Command0e-t ) 18O..BACMO1 Catc* e- As (ySE.-ce?tion (s!Bo-(e-.(essa!e.0oStrin!" nd 0ry nd Sub nd (odule