Hallo Pat,
eine Möglichkeit wäre eine Stored Procedure in der Jet-DB anzulegen.
Dies geht meines Wissens nach seit Access2000.
Dann kannst Du die ID einfach zurückgeben.
Mit OleDb muußt Du auf jeden Fall einen OleDbRowUpdatedEventHandler
hinzufügen um an die ID zu kommen.
Hab mal eine meiner Functionen zerhackt... kann also sein,
dass es nicht gleich geht.
Eine gute Lösung, den Namen des ID-Feldes an den Handler zu übergeben
habe ich nicht gefunden.
Deswegen habe ich in einem Modul eine Globale Variable definiert.
Gruß, Chris
Function addNew()
Dim SQL As String = "Select * from Tabelle"
dim nn = New OleDbConnection(GetDBConnectionString)
cnn.Open()
Dim cmd As OleDbCommand = New OleDbCommand(SQL, CNN)
Dim da As OleDbDataAdapter = New OleDbDataAdapter(cmd)
Dim cmdBuilder As OleDbCommandBuilder = New OleDbCommandBuilder(da)
Dim ds As DataSet = New DataSet
ds.Tables(aktTable).Rows.Add(newRow)
Dim newRow As DataRow = ds.Tables(aktTable).NewRow()
[ .... Daten in newRow einfügen]
AddHandler da.RowUpdated, New OleDbRowUpdatedEventHandler(AddressOf
OnRowUpdated)
gblVarRowPK="ID_FeldName"
da.Update(ds, aktTable)
RemoveHandler da.RowUpdated, New
OleDbRowUpdatedEventHandler(AddressOf OnRowUpdated)
'Und hier ist die neue ID
AddNewByArr = newRow(PK)
cnn.lose()
End Function
Private Shared Sub OnRowUpdated(ByVal sender As Object, ByVal args As
OleDbRowUpdatedEventArgs)
Dim NEWID As Integer
Dim da As OleDbDataAdapter = sender
Dim conn As OleDbConnection = da.SelectCommand.Connection
Dim myCmd As OleDbCommand = New OleDbCommand("SELECT @@IDENTITY",
conn)
If args.StatementType = StatementType.Insert Then
NEWID = CInt(myCmd.ExecuteScalar())
'NEEDS MODULE gblVarRowUpdated!!!!!!!!
args.Row(gblVarRowPK) = NEWID
End If
End Sub
Public Module gblVarRowUpdated
'NEEDED BY db.OnRowUpdated!!!!!!!!
Public gblVarRowPK As String
End Module
> -----Ursprüngliche Nachricht-----
> Von: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]
> Auftrag von Claudius Ceteras
> Gesendet: Montag, 29. August 2005 14:05
> An: [email protected]
> Betreff: RE: [Asp.net] mehrere @@Identity Werte auslesen
>
>
> > in ASP schön und gut aber wie das ganze in .NET?
>
> Oh... Stimmt ja...
>
> Also wenn Du alles in ne entsprechende Datatable packst und dann den
> DataAdapter(+CommandBuilder) drüber jagst, dann solltest Du in dem
> entsprechenden Feld danach die IDs haben...
>
> Gruss,
>
> Claudius
>
> _______________________________________________
> Asp.net Mailingliste, Postings senden an:
> [email protected]
> An-/Abmeldung und Suchfunktion unter:
> http://www.glengamoi.com/mailman/listinfo/asp.net
_______________________________________________
Asp.net Mailingliste, Postings senden an:
[email protected]
An-/Abmeldung und Suchfunktion unter:
http://www.glengamoi.com/mailman/listinfo/asp.net