OleDb til Excel - insertCommand fejler
I en windows form har jeg et DataGridView hvis indhold hentes fra en excel fil, via en OleDbDataAdapter. Til denne denne DataAdapter har jeg lavet følgende OleDbCommand's:DA = New OleDbDataAdapter()
' ====== SELECT COMMAND =====
Dim selectSQL As String = "SELECT Year, Net, Eksport, Import FROM [Ark1$]"
DA.SelectCommand = New OleDbCommand(selectSQL, ExcelDataConn)
' ====== INSERT COMMAND =====
Dim insertSQL As String = "INSERT INTO [Ark1$] (Year, Net, Eksport, Import) VALUES (?, ?, ?, ?)"
DA.InsertCommand = New OleDbCommand(insertSQL, ExcelDataConn)
DA.InsertCommand.Parameters.Add("@Year", OleDbType.Numeric).SourceColumn = "Year"
DA.InsertCommand.Parameters.Add("@Net", OleDbType.Numeric).SourceColumn = "Net"
DA.InsertCommand.Parameters.Add("@Eksport", OleDbType.Numeric).SourceColumn = "Eksport"
DA.InsertCommand.Parameters.Add("@Import", OleDbType.Numeric).SourceColumn = "Import"
' ====== UPDATE COMMAND =====
Dim updateSQL As String = "UPDATE [Ark1$] SET Net=?, Eksport=?, Import=? WHERE Year=?"
DA.UpdateCommand = New OleDbCommand(updateSQL, ExcelDataConn)
DA.UpdateCommand.Parameters.Add("@Net", OleDbType.Numeric).SourceColumn = "Net"
DA.UpdateCommand.Parameters.Add("@Eksport", OleDbType.Numeric).SourceColumn = "Eksport"
DA.UpdateCommand.Parameters.Add("@Import", OleDbType.Numeric).SourceColumn = "Import"
DA.UpdateCommand.Parameters.Add("@Year", OleDbType.Integer).SourceColumn = "Year"
DA.Fill(excelDataSet, "Ark1")
---------------------------------------------
DataGridView'et fyldes som det skal og jeg kan sagtens redigere data i de eksisterende rækker og gemme ændringer i excel ved:
DA.Update(excelDataSet, "Ark1")
Men hvis jeg indsætter en ny række i mit DataGridView og kalder:
DA.Update(excelDataSet, "Ark1")
Får jeg denne fejl: Syntax error in INSERT INTO Statement