Hallo Christoph, CLaudius,

habe nun folgendes fabriziert: Erstelle einen DataAdapter und DataSet, fülle 
das Schema der beiden Tabellen in das DataSet, setze die neuen Datensätze aus 
der Exceltabelle ein, lese den Autowert je Reihe aus und füge diesen dann in 
die zweite Tabelle ein.
So weit so gut klappt auch alles prima (danke für die Tipps), nur habe ich jetzt das Problem dass mir mein COmmandBuilder die DataSets nicht in die DB zurückschreibt. Bekomme keine Fehlermeldung, nichts!
Hat hierzu vielleicht jemand noch eine Anregung?

Hier mein Code:

Dim lastID As Integer
Dim sqlInsert As String sqlInsert = "SELECT ID FROM Empfaenger ORDER BY ID DESC"
Dim MyCommand As New OleDbCommand(sqlInsert, objConnect)
objConnect.Open()
lastID = CInt(MyCommand.ExecuteScalar()) + 1
        response.write(lastID & "<br>")

'### Adapter füllen und DataSet
Dim objDataAdapter As OleDbDataAdapter
objDataAdapter = New OleDbDataAdapter("SELECT * FROM Empfaenger", objConnect)
Dim objDataSet As New DataSet()
objDataAdapter.FillSchema(objDataSet, SchemaType.Mapped, "Empfaenger")
objDataAdapter = New OleDbDataAdapter("SELECT * FROM  Gruppen", objConnect)
objDataAdapter.FillSchema(objDataSet, SchemaType.Mapped, "Gruppen")
objDataSet.AcceptChanges()

'### autowert setzen auf letzteID+1!
Dim objColumn As DataColumn = objDataSet.Tables("Empfaenger").Columns("ID")
objColumn.DataType = System.Type.GetType("System.Int32")
objColumn.ReadOnly = True
objColumn.AutoIncrement = True
objColumn.AutoIncrementSeed = lastID
objColumn.AutoIncrementStep = 1

Dim EmpfIDGruppenFK As ForeignKeyConstraint = New ForeignKeyConstraint("EmpfIDGruppenFK", 
objDataSet.Tables("Empfaenger").Columns("ID"), 
objDataSet.Tables("Gruppen").Columns("EmpfID"))
EmpfIDGruppenFK.DeleteRule = Rule.Cascade EmpfIDGruppenFK.AcceptRejectRule = AcceptRejectRule.Cascade
objDataSet.Tables("Gruppen").Constraints.Add(EmpfIDGruppenFK)


'###Daten aus Excel Importieren
sqlInsert = "SELECT Anrede, Firma, Vorname, Nachname, ....[Excel 8.0;]"
objDataAdapter = New OleDbDataAdapter(sqlInsert, objConnect)
objDataAdapter.Fill(objDataSet, "Empfaenger")

Dim objDataRow, objDataRow2 As DataRow
For Each objDataRow in objDataSet.Tables("Empfaenger").Rows
        objDataRow2 = objDataSet.Tables("Gruppen").NewRow()
        objDataRow2("EmpfID") = objDataRow("ID")
        objDataRow2(Session("UploadGruppe")) = -1
        objDataSet.Tables("Gruppen").Rows.Add(objDataRow2)
Next

Dim objCommandBuilder As New OleDbCommandBuilder(objDataAdapter)
objDataAdapter.InsertCommand = objCommandBuilder.GetInsertCommand()
ausgabe.Text = objDataAdapter.InsertCommand.CommandText
                
objDataAdapter.Update(objDataSet, "Empfaenger")
'objDataAdapter.Update(objDataSet, "Gruppen")

'### an grid binden zur ausgabekontrolle
mygrid.DataSource=objDataSet.Tables("Empfaenger").DefaultView
mygrid.DataBind()
mygrid2.DataSource=objDataSet.Tables("Gruppen").DefaultView
mygrid2.DataBind()

objConnect.Close()


Gruss
Pat


_______________________________________________
Asp.net Mailingliste, Postings senden an:
[email protected]
An-/Abmeldung und Suchfunktion unter:
http://www.glengamoi.com/mailman/listinfo/asp.net

Antwort per Email an