Frage

Welche Spaltennamen kann nicht verwendet werden, wenn eine Excel-Tabelle mit ADO zu schaffen.

Ich habe eine Anweisung, die eine Seite in einer Tabelle erstellt:

CREATE TABLE [TableName] (Column string, Column2 string);

Ich habe festgestellt, dass Sie einen Spaltennamen von Date oder Container verwendet wird einen Fehler erzeugen, wenn die Anweisung ausgeführt wird.

Hat jemand eine vollständige (oder teilweise) Liste von Wörtern, die nicht als Spaltennamen verwendet werden können? Dies ist für den Einsatz in einer benutzerorientierten Umgebung und es wäre besser, zu „reparieren“ die Spalten als zum Absturz bringen.

Meine Behelfslösung für diese ist jeweils alle Vorkommen von Date oder Container mit Date_ und Container_ zu ersetzen.

War es hilfreich?

Lösung

Sie können Klammern für jeden Feldnamen verwenden, z.

CREATE TABLE [TableName] ([Date] string, [Container] string)

Voll Beispiel:

using (OleDbConnection conn = new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\\temp\\test.xls;Extended Properties='Excel 8.0;HDR=Yes'"))
{
  conn.Open();
  OleDbCommand cmd = new OleDbCommand("CREATE TABLE [TableName] ([Date] string, [Container] string)", conn);
  cmd.ExecuteNonQuery();
}

Andere Tipps

Es scheint eher wie ein Problem mit Worten SQL reserviert. Dies ist eine gute Liste

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top