ProgramacionFacil

UNIDAD 5: VISUAL BASIC NET BASES DE DATOS

TEMA 13: EDICION DE REGISTROS SQL UPDATE

Editar registros significa cambiar el contenido de algunos de los campos o columnas por nueva informacion o para corregir algun error de captura original o para agregar alguna columna que no existia por modificacion de la tabla o la base de datos.

En general se tiene otro problema de sql UPDATE, sin embargo ahora se aprovechan algunos elementos nuevos del objeto datagrid, como son la capacidad que tiene de crearle columnas de edicion a los renglones que muestra el dataset, estas columnas de edicion traen sus propios metodos, mismos que se pueden cargar con codigo para procesar.

Prog31.aspx


<%@ Import Namespace="System" %>

<%@ Import Namespace="System.Data" %>

<%@ Import Namespace="System.Data.OleDb" %>

<HTML>

<script language=VB runat=server>

DIM coneccion As OleDbConnection=new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:\progfacil\tusitio\mibase.mdb")

SUB Page_Load(Sender as Object, E as EventArgs)

' solo para cuando se carga por primera vez la forma

if NOT IsPostBack Then

DespTabla()

end if

END SUB

SUB DespTabla()

DIM canal as OleDbDataAdapter

canal = new OleDbDataAdapter("select * from mitabla", coneccion)

DIM tabla as DataSet

tabla = new DataSet()

canal.Fill(tabla, "mitabla")

TABLAGRID.DataSource=tabla

TABLAGRID.DataMember="mitabla"

TABLAGRID.DataBind()

END SUB

SUB DataGrid_Edit(Sender as Object, E as DataGridCommandEventArgs)

' cargando el renglon donde se pidio la edicion

TABLAGRID.EditItemIndex = E.Item.ItemIndex

DespTabla()

END SUB

SUB DataGrid_Cancel(Sender as Object, E as DataGridCommandEventArgs)

'para cancelar solo poner edititemindex en -1 (ningun renglon)

TABLAGRID.EditItemIndex = -1

DespTabla()

END SUB

SUB DataGrid_Update(Sender as Object, E as DataGridCommandEventArgs)

DIM q AS STRING

q = "UPDATE mitabla SET clave= @CLAVE, nombre= @NOMBRE, edad = @EDAD where clave= @CLAVE"

DIM orden AS OleDbCommand

orden = new OleDbCommand(q, coneccion)

orden.Parameters.Add(new OleDbParameter("@CLAVE", OleDbType.Integer))

orden.Parameters.Add(new OleDbParameter("@NOMBRE", OleDbType.VarWChar, 20))

orden.Parameters.Add(new OleDbParameter("@EDAD", OleDbType.Integer))

' cargando textbox de clave con el valor de la clave

orden.Parameters("@CLAVE").Value = TABLAGRID.DataKeys(E.Item.ItemIndex)

' creando y cargando los demas textboxs

DIM nomcajas()= {"@CLAVE","@NOMBRE","@EDAD"}

DIM i AS Integer

FOR i=1 to 3

DIM datocajas AS STRING

Dim micaja As TextBox

micaja = CType(E.Item.Cells(I).Controls(0), TextBox)

datocajas = micaja.Text

orden.Parameters(nomcajas(i-1)).Value = Server.HtmlEncode(datocajas)

NEXT i

orden.Connection.Open()

orden.ExecuteNonQuery()

'poniendo otra vez el datagrid en nada

TABLAGRID.EditItemIndex = -1

orden.Connection.Close()

DespTabla()

END SUB

</script>

<body style="font: 10pt verdana">

<form runat="server">

<h3><font face="Verdana">EDICION O ACTUALIZACION DE REGISTROS</font></h3>

<span id="Message" EnableViewState="false" style="font: arial 11pt;" runat="server"/><p>

<ASP:DataGrid id="TABLAGRID" runat="server"

Width="400"

BackColor="#ccccff"

BorderColor="black"

ShowFooter="false"

CellPadding=3

CellSpacing="0"

Font-Name="Verdana"

Font-Size="8pt"

HeaderStyle-BackColor="#aaaadd"

OnEditCommand="DataGrid_Edit"

OnCancelCommand="DataGrid_Cancel"

OnUpdateCommand="DataGrid_Update"

DataKeyField="clave"

<Columns>

<asp:EditCommandColumn EditText="Edit" CancelText="Cancel" UpdateText="Update" ItemStyle-Wrap="false"/>

</Columns>

</ASP:DataGrid>

</form>

</body>

</html>

Para entender el codigo veamos la corrida completa:

Pantalla uno prog31.aspx

image276.jpg

Observar que ahora el datagrid incluye una columna de edicion especial, revisar la parte del codigo de propiedades del datagrid en el programa y las nuevas propiedades que se le agregaron.

Pantalla dos prog31.aspx

image277.jpg

Observar que la columna de edicion del renglon seleccionado (click en edit de cualquier renglon) ahora tiene dos opciones(update y cancel) y el renglon de edicion se convirtio en puros textbox (ya se modificaron algunos valores), update y cancel tienen su propio codigo en el programa, revisarlo y usando opcion update se tiene ahora;

Pantalla tres prog31.aspx

image278.jpg

Un registro editado o modificado en visual basic net , analizar con cuidado el codigo del programa, que esta documentado, suerte

1.- con visual basic net construir aspx de edicion para sus tablas y bases de datos

 




 


Recent changes RSS feed Donate Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki

Politica de Privacidad