So, schade das mir niemand helfen Konnte, aber nach langem Versuchen bin ich auf die Lösung gekommen. Wie es mir schon angezeigt hatte, lag der Fehler immer beim Öffnen der Datenbank, wie es mir auch die Exception (siehe hochgeladenes Bild oben) ausgeworfen hatte.
Somit lag der Fehler im ConnectionString.
Nach langem Versuchen und Überlegen, fand ich einen Befehl in Visual Studio .NET den ich wie folgt fand:
Man klicke im MenueContext auf
Daten und im geöffneten Menue auf
Neue Datenquelle hinzufügen.... Es öffnet sich eine neue Maske, in der Automatisch
Datenbank markiert wurde. Ein Klick auf
Weiter und anschließen oben rechts auf
Neue Verbindung.... Es öffnet sich erneut eine Maske, in der man natürlich die Datenquelle mit einem Klick auf
Ändern... einstellt (bei mir wäre das
Microsoft SQL Server-Datenbankdatei (SqlClient) und den Pfad zu seiner Datenbank mit einem Klick auf
Durchsuchen... einstellt. Ich habe in meinem Beispiel die
Standard Windows-Authentifizierung verwendet. Bevor man nun auf
OK klickt, muss man noch auf
Erweitert... klicken. In dieser Maske befindet sich ganz unten, in einer Frozen-Textbox der ConnectionString, der bei mir funktioniert hat. In meinem Beispiel wäre das dieser:
Source=.\SQLEXPRESS;AttachDbFilename=C:\Users\thomas\Desktop\Datenbankprojekt\firstDatabase.mdf;Integrated Security=True;Connect Timeout=30;User Instance=True
Was ihr mit diesem ConnectionString anfangen könnt seht ihr ja in dem funktionierenden Code, den ich unten angefügt habe. Was wichtig ist, ist das ihr bei jedem Backslash noch einen Backslash hinzufügt, da dieser sonst nicht als Backslash erkannt wird. Sondern für irgendwas anderes. Hängt wohl mit z.B. \n zusammen. So wie man für ein Anführungszeichen in einem String \" machen muss.
Das selbe funktioniert auch mit einer MSAccess Datenbank .mdb. Ich hab das eben versucht und es hat geklappt. Zumindest das öffnen. Aber mit der OleDB-Connection.
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29: 30: 31: 32: 33: 34: 35: 36: 37: 38: 39:
| using System; using System.Collections.Generic; using System.Windows.Forms; using System.Data.SqlClient; using System.Data;
namespace Daba { static class Program { [STAThread] static void Main() { SqlConnection dabaConnection = new SqlConnection(); dabaConnection.ConnectionString = "Data Source=.\\SQLEXPRESS;AttachDbFilename=" + "C:\\Users\\thomas\\Desktop\\Datenbankprojekt\\firstDatabase.mdf;" + "Integrated Security=True;Connect Timeout=30;User Instance=True";
try { dabaConnection.Open(); } catch(Exception e) { MessageBox.Show("Der folgende Fehler ist aufgetreten:\n\n" + e); } Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); Application.Run(new Form1()); } } } |