Sie sind auf Seite 1von 3

DATABINDINGS

Codigo fuente : Imports System.Data Imports System.Data.SqlClient Public Class Form18 Dim con As SqlConnection Dim dtb As DataTable Dim da As SqlDataAdapter Dim cur As CurrencyManager Dim ds As DataSet Dim com As SqlCommandBuilder Private Sub Form18_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load con = New SqlConnection("Integrated security=true;server=.;database=Importadora") da = New SqlDataAdapter("select * from productos", con) dtb = New DataTable("productos") da.Fill(dtb) 'dtb = ds.Tables(0) com = New SqlCommandBuilder(da) cur = BindingContext(dtb) Me.TextBox1.DataBindings.Add("Text", dtb, "codpro") Me.TextBox2.DataBindings.Add("Text", dtb, "descripcion")

Me.TextBox3.DataBindings.Add("Text", dtb, "precio") Me.TextBox4.DataBindings.Add("Text", dtb, "stock") End Sub Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click cur.Position += 1 End Sub Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click cur.Position -= 1 End Sub Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click 'Llamar al mtodo BeginEdit es cmodo cuando se desea realizar cambios en 'ms de una fila, porque no se desencadena ninguna regla de validacin que 'pueda existir. 'El mtodo EndEdit lo nico que hace es finalizar el modo de edicin de una 'fila u objeto DataRow, siempre y cuando se haya llamado con anterioridad al 'mtodo BeginEdit. Try Dim fila As DataRowView = cur.Current Dim f As DataRow = fila.Row f.BeginEdit() f.Item(1) = Me.TextBox2.Text f.Item(2) = Double.Parse(Me.TextBox3.Text) f.Item(3) = Integer.Parse(Me.TextBox4.Text) If f.Item(1, DataRowVersion.Original) <> f.Item(1, DataRowVersion.Proposed) Then f.EndEdit() da.Update(dtb) dtb.AcceptChanges() MsgBox("Se guardo los cambios", 0 + 64, "aviso") End If Catch ex As Exception MsgBox(ex.Message, 0 + 48, "error") End Try End Sub Private Sub Form18_FormClosing(ByVal sender As System.Object, ByVal e As System.Windows.Forms.FormClosingEventArgs) Handles MyBase.FormClosing For Each f As DataRow In dtb.Rows If f.RowState = DataRowState.Modified Then If MsgBox("Desea guardar los cambios", 4 + 32 + 256, "aviso") = 6 Then dtb.AcceptChanges()

Me.Close() End If End If Next End Sub End Class

Das könnte Ihnen auch gefallen