Text aus TextBox in DB speichern

14/12/2007 - 12:08 von André Derron | Report spam
Hallo NG

Ich habe ein Formular in welchem die Label und TextBoxen beim öffnen ins
Formular (Tabelle) gesetzt werden.
Die Anzahl Controls hàngt von der Anzahl der Datenfelder aus der DB ab.
So weit funktioniert alles bestens
Wenn ich nun in einer TextBox einen Eintrag àndere
wird die Änderung nicht in die DB zurück geschrieben
obschon die geànderten Inhlte im DataSet vorhanden sind

Bin um jeden Tipp dankbar
Gruss
André

Schnipp

Private Sub Form1_Deactivate() Handles Me.Deactivate
Dim cb As New SqlCommandBuilder(_daDet)

_daDet.Update(_dsDet, _dt)
End Sub


Private Sub Form1_Load() Handles MyBase.Load
_con = New SqlConnection(_conStr)

Dim sql As String = "SELECT * FROM " & _dt & " WHERE ID = 1"
Dim sqlCmd As New SqlCommand(sql, _con)

_dsDet = New DataSet

_daDet = New SqlDataAdapter(sqlCmd)
_daDet.MissingSchemaAction = MissingSchemaAction.AddWithKey

_daDet.Fill(_dsDet, _dt)

Dim tab As New TableLayoutPanel
tab.Dock = DockStyle.Fill
tab.CellBorderStyle = TableLayoutPanelCellBorderStyle.Single
tab.Height = 0

Dim iRow As Int32 = 0
tab.ColumnCount = 2
tab.RowCount = 0
For Each col As DataColumn In _dsDet.Tables(_dt).Columns
'
' Label in Form (Tabelle Spalte0) einbauen
'
Dim lbl As New Label
lbl.AutoSize = False
lbl.Dock = DockStyle.Fill
lbl.TextAlign = ContentAlignment.MiddleLeft
lbl.Name = "lbl" & col.ColumnName
lbl.Text = col.ColumnName
tab.Controls.Add(lbl, 0, iRow)

'
' TextBox einbauen
'
Dim txt As New TextBox
txt.Dock = DockStyle.Fill
txt.BorderStyle = BorderStyle.FixedSingle
txt.Name = "txt" & col.ColumnName
txt.DataBindings.Add("Text", _dsDet.Tables(_dt), col.ColumnName)
tab.Controls.Add(txt, 1, iRow)

iRow += 1
Next
Me.Controls.Add(tab)
End Sub

Schnapp
 

Lesen sie die antworten

#1 Peter Götz
14/12/2007 - 14:03 | Warnen spam
Hallo André,

Ich habe ein Formular in welchem die Label und
TextBoxen beim öffnen ins > Formular (Tabelle)
gesetzt werden.
Die Anzahl Controls hàngt von der Anzahl der
Datenfelder aus der DB ab.
So weit funktioniert alles bestens
Wenn ich nun in einer TextBox einen Eintrag
àndere wird die Änderung nicht in die DB zurück
geschrieben obschon die geànderten Inhlte im
DataSet vorhanden sind



Wie und wo hast Du

.InsertCommand
.UpdateCommand
.DeleteCommand

für Deinen DataAdapter definiert?
In dem von Dir gezeigten Code gibt es nur
einen DataAdapter.SelectCommand.

Gruß aus St.Georgen
Peter Götz
www.gssg.de (mit VB-Tipps u. Beispielprogrammen)

Ähnliche fragen