klar... kein Problem:
Private Sub LoadFilialDetails()
Dim strSQL As String
Dim ctrl As Object
Dim feldname As String
sqlds.Clear()
If Me.lstFilialen.SelectedIndex <> -1 Then
Try
'Alle Filialnamen in das Listenfeld laden
strSQL = "Select * from ghs_filialstamm where filialnr = '" & _
Me.lstFilialen.SelectedItem(0) & "'"
sqlAdap = New SqlClient.SqlDataAdapter(strSQL, sqlConn)
sqlAdap.Fill(sqlds, "filialstamm")
drow = sqlds.Tables("filialstamm").Rows(0)
Catch ex As Exception
MsgBox(ex.ToString, MsgBoxStyle.Critical, "Fehler bei Abfrage" & _
"des Filialstammes")
Finally
End Try
'Editierbare Tabellenfelder in Textboxes anzeigen
For Each ctrl In Me.GroupBox2.Controls
If TypeOf ctrl Is TextBox Then
feldname = Mid(ctrl.name, 4)
Try
ctrl.text = drow(feldname).ToString
Catch ex As Exception
MsgBox("Fehler beim Laden des Feldes " & _
feldname.ToUpper & " " & ex.ToString, _
MsgBoxStyle.Critical, "")
End Try
End If
Next
'Felder mit Änderungsinfos in Textbox anzeigen
For Each ctrl In Me.GroupBox3.Controls
If TypeOf ctrl Is TextBox Then
feldname = Mid(ctrl.name, 4)
Try
ctrl.text = drow(feldname).ToString
Catch ex As Exception
MsgBox("Fehler beim Laden des Feldes " & _
feldname.ToUpper & " " & ex.ToString, _
MsgBoxStyle.Critical, "")
End Try
End If
Next
End If
End Sub Also eigentlich ist es bei mir so, dass meine Textboxen genauso heißen wie die Datenbankfelder nur halt mit einem TXT davor, dass ich in der Schleife mittels MID(ctrl.name, 4) abschneide und somit weiß, welche Spalte der Datarow ich verwende...
theoretisch könntest Du auch folgendes tun...
Beispiel Du frägst 4 Felder ab:
"select kundenummer, kundenname, kundenadresse, kundenort from kundentabelle where kundenummer = 1"
vorausgesetzt, die kundennummer exisitert, ergibt die Abfrage ja ein Resultset mit (normalerweise) einer Datenzeile.
Die Werte dieser Datenzeile übergibst du einem Objekt Datarow...
mydrow = sqldataset.tables("kundentabelle").rows(0)
die mydatarow hat nun 4 Spalten, die identisch mit deinem Sqlstring sind, nämlich kundennummer (Spalte 0), -name (Spalte 1), -adresse (Spalte 2) und -ort (Spalte 3)..
möchtest du die elemente der datarow nun einer Textbox zuweisen dann kannst Du das im Falle der Kundennummer entweder per:
textbox1.text = mydrow(0).tostring wobei (0) die Spaltennummer interpretiert oder per
textbox1.text = mydrow("kundennummer").tostring machen |