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