DataSet excelDataSet = new DataSet();
string connectionString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source='"+fullpath+"';Extended Properties=\"Excel 8.0;HDR=YES\";";
/*using (OleDbConnection conn = new OleDbConnection(connectionString))
{
conn.Open();
OleDbDataAdapter objDA = new OleDbDataAdapter("select * from [Sheet1$]", conn);
objDA.Fill(excelDataSet);
conn.Close();
}*/
string columns = string.Join(",", StdTable.Columns.Cast<DataColumn>().Select(c => c.ColumnName));
columns = columns.Replace(",F1", "");
string values = string.Join(",", StdTable.Columns.Cast<DataColumn>().Select(c => string.Format("@{0}", c.ColumnName)));
values = values.Replace(",@F1", "");
string sqlCommandInsert = string.Format("INSERT INTO [Sheet1$] ({0}) VALUES ({1})", columns, values);
using (OleDbConnection conn1 = new OleDbConnection(connectionString))
using (var cmd1 = new OleDbCommand(sqlCommandInsert, conn1))
{
conn1.Open();
foreach (DataRow row in StdTable.Rows)
{
cmd1.Parameters.Clear();
foreach (DataColumn col in StdTable.Columns)
{
cmd1.Parameters.AddWithValue("@" + col.ColumnName, row[col]);
//cmd1.CommandText = sqlCommandInsert;
}
cmd1.ExecuteNonQuery();
}
//cmd1.ExecuteNonQuery();
}
//And Insert query values
INSERT INTO [Sheet1$] (Sno,Customer,Vendor code,Circle,PO NO) VALUES (@Sno,@Customer,@Vendor code,@Circle,@PO NO)
1
A
Antwort
0
Statt
string columns = string.Join(",", StdTable.Columns.Cast<DataColumn>().Select(c => c.ColumnName));
tun, um diese
string columns = string.Join(",", StdTable.Columns.Cast<DataColumn>().Select(c => string.Foramt("[{0}]", c.ColumnName)));
Eine der Spalten einzufügen versuchen, in der Datentabelle könnte so benannt werden ein spezielles Schlüsselwort in Jet db Provider zum Beispiel eine Spalte 'Date' oder 'Where' oder etwas ähnliches vorstellen.
Auf den zweiten Blick sehe ich, dass Sie Leerzeichen in Ihren Spaltennamen haben, die aus der Datentabelle kommen. Dieser Square-Bracket-Ansatz könnte noch helfen.
Bitte beachten Sie, dass die Parameternamen wie
@PO NO
keine Leerzeichen enthalten sollte, so würde ich die Räume von den Parameternamen entfernen.
0
Sie haben spaces
in Ihrem column names
, so verwenden []
in column names
und replace space with _
in parameter names
Ändern Sie bitte Ihre Codezeilen wie unten:
string columns = string.Join(",", StdTable.Columns.Cast<DataColumn>().Select(c => string.Foramt("[{0}]", c.ColumnName)));
columns = columns.Replace(",F1", "");
string values = string.Join(",", StdTable.Columns.Cast<DataColumn>().Select(c => string.Format("@{0}", c.ColumnName.Replace(" ", "_"))));
values = values.Replace(",@F1", "");
cmd1.Parameters.AddWithValue("@" + col.ColumnName.Replace(" ", "_"), row[col]);
Verwandte Themen
- 1. Ich habe ein Problem in dll?
- 2. Ich habe wieder ein Problem mit protobuf.net
- 3. Ich habe ein Problem im Dokument Verzeichnis
- 4. ich habe ein Problem mit Ausnahme „java.lang.ArrayIndexOutOfBoundsException“
- 5. Ich habe ein Problem mit JQuery.
- 6. Ich habe ein Problem mit meinem Formular_für
- 7. Ich habe ein Problem mit checked textview
- 8. Ich habe ein Problem mit Display-Link
- 9. Ich habe ein Problem, ein Element von HTML-Seite bekommen
- 10. ios: Ich habe ein altes Projekt, wenn ich mich anmelden, es kommt ein Problem
- 11. Ich habe ein Problem in CSS und jcarousel bekam lite
- 12. Ich habe ein Problem mit FormatDate in W2ui
- 13. Ich habe ein Problem mit der Dateneinfügung durch mssql
- 14. Ich habe ein Problem beim Vergrößern eines Fraktals (webgl)
- 15. Ich habe ein Problem mit Powershell und Aufgabenplan
- 16. Q: Ich habe ein Problem mit navigationController push
- 17. Ich habe ein Problem mit swiper und Pfeiltasten (Magie)
- 18. Ich habe ein Problem mit IComparable und die Sammlung Sortiermethode
- 19. Ich habe ein Problem mit TensorFlow Anfänger Tutorial
- 20. Ich habe ein großes Problem mit BeagleboneBlack Uart
- 21. In CrafterCMS, ich habe ein Problem, ein MP4-Video in Safari
- 22. Warum habe ich ein Problem beim Bearbeiten der Schriftgröße?
- 23. Ich habe ein Problem mit der Funktion Directory.delete?
- 24. Ich habe ein Problem mit diesem Rechner arbeiten mit Eval
- 25. Ich habe ein Problem mit mysqli und vorbereiteten Statements
- 26. Ich habe in dieser Form ein Datenrahmen
- 27. Wie kann ich ein Bild in HTML anzeigen, wenn ich ein Localhost-Objekt habe
- 28. Datentabelle nur Anzeige 10 Zeilen, wenn 50
- 29. Ich habe ein wenig Probleme in PowerShell
- 30. Ein Problem, wenn in BigQuery Java UDF
Bitte weitere Informationen geben, was ist der Fehler? –
Syntaxfehler in INSERT INTO-Anweisung. –