Entwickler-Ecke

Datenbanken (inkl. ADO.NET) - C# & SQL Fehler


visualsq - Di 27.12.11 15:58
Titel: C# & SQL Fehler
Hallo!


Ich habe wieder mal eine Aufgabe mit C# und SQL am laufen, leider funktioniert es noch nicht ganz.
Obwohl ein ähnliches vorhergehendes Projekt wunderbar mit der neuen SQL Version (System.Data.SQLite.dll) funktioniert hatte, klappt nun nichts mehr :?
Folgendes Problem:

Kommentiere ich in der DatenbankClass.cs den Quellcode aus(Siehe Anhang) gibt es "hallo" aus. Weise ich jedoch der Var. con die Datenbank zu wird die messageBox plötzlich ignoriert, und nicht in der form ausgegeben.



Danke,
Mfg.


Ralf Jansen - Di 27.12.11 16:07

Du solltest dich mit Exceptionhandling beschäftigen. Wenn Connection.Open() nicht öffnet wird eine Exception geworfen. Denn Code danach zum prüfen wird also nie in Verwendung kommen (zumindest der Fehlerzweig). Da du weder in dieser Methode noch in Form.Load die Exception fängst und auswertest geht die unter und du weißt nicht mal welches Problem besteht(vermutlich wird die DB oder der Treiber für die DB nicht gefunden).


visualsq - Di 27.12.11 21:06

Hallo

Danke für die prompte Antwort!
Kenne mich leider nicht so mit den Exceptions aus, die Datenbank müsste schon gefunden werden.
Was meinst Du mit Treiber?


Mfg.


Th69 - Mi 28.12.11 11:42

Hallo,

mit Exceptions sollte man schon wissen, wie man damit umzugehen hat, s. z.B. http://openbook.galileocomputing.de/visual_csharp_2010 (Kapitel 9 Fehlerbehandlung und Debugging).
Setze mal (im Debug-Modus) einen Haltepunkt (Breakpoint) auf die Zeile 'connection.Open()' und gehe Zeile für Zeile (z.B. per 'F10') durch dein Programm und schau, ob du eine Exception angezeigt bekommst.

P.S. mit "müsste (schon gefunden werden)" kommt man beim Programmieren oft nicht weit ;-)


Trashkid2000 - Mi 28.12.11 12:32

Exception ist eine BadImageFormatException.

Fehlertext:
Could not load file or assembly 'System.Data.SQLite, Version=1.0.77.0, Culture=neutral, PublicKeyToken=db937bc2d44ff139' or one of its dependencies. Es wurde versucht, eine Datei mit einem falschen Format zu laden.