Beim Wechsel von vba zu vb.net sucht man meistens gerne den ADODB Recordset um einzelne Felder in einem einzelnen Datensatz zu beschreiben.
Das Adodb Recordset funktioniert auch ganz sicher unter vba, also Microsoft Access und Microsoft Excel und Office.
Allerdings sollte man unter vb.net auf den Adapter wechseln. Dieser Vorgang ist gar nicht so schwer wie das folgende Beispiel zeigt.
Beim Erstellen und Ändern verwende ich dann meistens den Vorgang über einen Commandbuilder. Das Beispiel zeigt den 3-Zeiler
Code Snippet:
------------</ fl_Speichern() >------------
'--< Neu pruefen >--
If _IDDetail = -1 Then
'--< Neu erzeugen >--
'Dim recNeu As ADODB.Recordset
Try
Dim Adapter As SqlClient.SqlDataAdapter = clsDB.getTableAdapter("SELECT TOP 1 * FROM tblWeb_Details")
Dim cmdInit As New SqlClient.SqlCommandBuilder(Adapter)
Dim ds As New DataSet()
Adapter.Fill(ds) 'lade ds
If Not ds Is Nothing Then
'--< neue Row erstellen >--
Dim rowNeu As DataRow = ds.Tables(0).Rows.Add
rowNeu("Title0") = "neu " & Now
rowNeu("Title1") = "new " & Now
rowNeu("IDUser") = _IDUser
Adapter.Update(ds.Tables(0))
'--< neue Row erstellen >--
End If
'< Abschluss >
Adapter = Nothing
ds = Nothing
'</ Abschluss >
'< IDNeu ermitteln >
_IDDetail = clsDB.getValue("IDDetail", "tblWeb_Details", , "IDDetail DESC")
'</ IDNeu ermitteln >
Catch ex As Exception
fp_Message_anzeigen("Es konnte kein neuer Datensatz erstellt werden.", "fl_Speichern->neu()", "rec.addnew()")
Return False
Exit Function
End Try
'--</ Neu erzeugen >--
End If
'----</ Neu pruefen >----
|
Wie das Beispiel zeigt, verwendet man anstatt rec as adodb.Recordset das Konstrukt Adapter->Commandbuilder->Füllen und dann Updast
|