Hallo Patrik, ich bin mir sicher das "t-path" und "h-path" vorkommen, weil ich mir das dataset per dataview ausgeben lasse. ausserdem weiss ich doch was in meiner db tabelle steht! das korrekte sql statement habe ich probiert, folgender fehler: Für mindestens einen erforderlichen Parameter wurde kein Wert angegeben. in dieser zeile:
objDataAdapterB1.Fill(objDataSetB1)da ich ja keine kreuztabellen abfrage in diesem sinne mache wundert es mich schon dass er von 2 verschiedenen datasetsderen spalten eigenhändig umbenennt. klar heissen diese immer gleich aber das eine DS hat je mit dem anderen nichst zu tun, soweit! Warum .net hier ein Double Feld vermutet verstehe ich auch nicht, ok es ist der PrimaryKey auf diesem Feld, diesen habe ich jetzt aber mal gelöscht und kam zum gleichen Ergebniss. Also mich verwirrt das doch sehr. Kann ich bei Füllen des DS den Spaltentyp mitgeben? Gruss Pat Hier nochmal der aktuelle Code: Dim objDataSetB1 As New DataSet() Dim objDataSetB2 As New DataSet() Dim objDataAdapterB1 As New OleDbDataAdapter() Dim objDataAdapterB2 As New OleDbDataAdapter() Dim objCommand As New OleDbCommand() objCommand.Connection = ALobjConnect objCommand.CommandType = CommandType.Text objCommand.CommandText = "SELECT property, serial, h-path, t-path FROM tbl_photos" objDataAdapterB1.SelectCommand = objCommand objDataAdapterB1.Fill(objDataSetB1) Dim objCommand2 As New OleDbCommand() objCommand2.Connection = objConnect objCommand2.CommandType = CommandType.Text objCommand2.CommandText = "SELECT property, serial, h-path, t-path FROM Pictures" objDataAdapterB2.SelectCommand = objCommand2 objDataAdapterB2.FillSchema(objDataSetB2, SchemaType.Source) objDataSetB2.AcceptChanges() Dim objDataView As New DataView() objDataView = objDataSetB2.Tables(0).DefaultView dgrBooksData.DataSource = objDataView dgrBooksData.DataBind() Dim objDataRow, dtRow as DataRow For Each dtRow in objDataSetB1.Tables(0).Rows objDataRow = objDataSetB2.Tables(0).NewRow() objDataRow.ItemArray = dtRow.ItemArray objDataSetB2.Tables(0).Rows.Add(objDataRow) Next Dim objCommandBuilder As New OleDbCommandBuilder(objDataAdapterB2) objDataAdapterB2.InsertCommand = objCommandBuilder.GetInsertCommand() outInsert.InnerText = objDataAdapterB2.InsertCommand.CommandText objDataAdapterB2.Update(objDataSetB2) ----- Original Message ----- From: <[EMAIL PROTECTED]> To: <[EMAIL PROTECTED]> Sent: Friday, July 16, 2004 2:24 PM Subject: [Asp.net] Re: [Asp.net] Re: [Asp.net] nochmals dataset und seine tücken Hallo > Dim objDataRow, dtRow as DataRow > For Each dtRow in objDataSetB1.Tables("Pics").Rows > objDataRow = objDataSetB2.Tables("Pictures").NewRow() > objDataRow("property") = dtRow("property") > objDataRow("serial") = dtRow("serial") > objDataRow("Expr1002") = dtRow("h-path").ToString > objDataRow("Expr1003") = dtRow("t-path").ToString > objDataSetB2.Tables("Pictures").Rows.Add(objDataRow) > Next Woher bist Du sicher dass in dtRow "t-path" vorkommt?. Es kommt von objDataSetB1.Tables("Pics").Rows und das ist erwiesenermasse so gefüllt: "SELECT * FROM tbl_photos". Warum machst Du hier nicht ein konkreteres SQL ohne *? Da hättest Du schon mal etwas eingegrenzt. Die "Expr1002" etc. werden gemacht, wenn mehrere Spalten dieselbe Bezeichnung haben. Beispiel: Ein select über zwei Tabellen wo Du von beiden Tabellen die "ID" bekommst. Aus der einen ID macht er dann z.B. Expr1002. Die Fehlermeldung deutet daraufhin, dass das Feld nicht ein Text-Feld, sondern ein Double ist! Also hinter Expr1002 liegt nicht Dein vermuteter Path, sondern evtl. eine ID???? Ich würd noch warten mit "Bug" rufen... HTH Patrik _______________________________________________ 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