Mein persönlicher Codehorror: Von C# zu Access. Hilfe!

Placebo

BIOS-Overclocker(in)
Mein persönlicher Codehorror: Von C# zu Access. Hilfe!

Hallo,

ich habe jetzt seit grob geschätzt 8-12 Stunden versucht, C# dazu zu bringen, in Access eine einzige verdammte Zeile zu schreiben und bin so langsam dabei, den Verstand zu verlieren (aka "ich würde jetzt lieber Multithreading-Probleme debuggen"). Inzwischen habe ich eigentlich jede Website durch, von Stackoverflow bis MSDN mit allem dazwischen. Das es generell funktioniert, kann ich mit 90% Sicherheit bejahen, denn im gleichen Projekt hat schon ein Kollege einige Zeilen hinzugefügt, die Excel und SQL zum laufen bringen. Das Problem ist, dass der Code nicht nur kaum zu verstehen ist, die Erklärungen des Kollegen sind es auch nicht. Dazu kommt noch der ganze (auskommentierte) Codemüll usw... Dieser *"$/§$" kann doch nicht so schwer sein. Aber nun zum Code:

Code:
OleDbConnection Access_Verbindung = new OleDbConnection(@"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=Dateipfad;Persist Security Info=False;");
OleDbDataAdapter Access_Befehle = new OleDbDataAdapter();

Access_Befehle.SelectCommand = new OleDbCommand("SELECT Dateiname, [Irgendeine-Nr] FROM [tbl_Zeilen]", Access_Verbindung);
Access_Befehle.InsertCommand = new OleDbCommand("INSERT into [tbl_Zeilen] (Dateiname, [Irgendeine-Nr]) VALUES (@Dateiname, @[Irgendeine-Nr])", Access_Verbindung);
Access_Befehle.InsertCommand.Parameters.Add(new OleDbParameter("Dateiname", OleDbType.VarChar, 250, "Dateiname"));
Access_Befehle.InsertCommand.Parameters.Add(new OleDbParameter("Test", OleDbType.VarChar, 250, "[Irgendeine-Nr]")); //Absichtlich Text

DataSet Access_Datencache = new DataSet();
Access_Befehle.Fill(Access_Datencache); //Warum eigentlich Adapter.Fill(DataSet) und nicht DataSet.Fill(Adapter)? 

DataRow Access_Zeile = Access_Datencache.Tables[0].NewRow();
Access_Zeile[1] = "blaaahhrg"; //Zeile 0 = ID
Access_Zeile[2] = "52xx525A";
Access_Datencache.Tables[0].Rows.Add(Access_Zeile);
Access_Befehle.Update(Access_Datencache);

Nachdem dieser Teil für mich komplettes #Neuland ist, habe ich auch mal versucht, alles richtig zu bennen. Wenn jemand eine bessere Bezeichnung hat, postet sie bitte, und warum.
Die aktuelle Fehlermeldung ist, dass C# keine [Irgendeine-Nr] findet. Wegen dem Bindestrich? Ich kann nicht darauf verzichten.
 
AW: Mein persönlicher Codehorror: Von C# zu Access. Hilfe!

Sagt die Fehlermeldung denn definitiv, dass [Irgendeine-Nr] nicht gefunden werden kann ?
Ohne mich mit der Sprache auszukennen würde ich ja vermuten, dass "Irgendeine" nicht gefunden werden kann, denn dein "Bindestrich" sieht für mich gefährlich wie ein "Minus" aus ;-)

Mir wäre auf jeden Fall keine Sprache bekannt, bei der "-" im Variablenbezeichner stehen darf.
 
Zurück