PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : C# - OleDB zugriff


blue
29.09.05, 21:34:45
Mahlzeit,

ich habe ein Problem mit dem Zugriff zu einer Datenbank. Und zwar handelt es sich dabei um eine einfache Access Datenbank ( OleDB ) und ich versuche mittels eines Commands Daten in die DB einzutragen. Hier erstmal der Code:


private void btnok_Click(object sender, EventArgs e)
{
try
{
OleDbConnection ConDBOleDB = new System.Data.OleDb.OleDbConnection(
"Provider=Microsoft.Jet.OLEDB.4.0;Password=;"
+ "User ID=Admin;Data Source=G://patientenverwalung//arztpraxis.mdb");

OleDbCommand cmd = new OleDbCommand("INSERT INTO patient (name , vorname, datum , strasse , wohnort, plz) VALUES ( 'test' , 'test' , '28.03.1987' , 'test' , 'test' , 'zahl')", ConDBOleDB);

ConDBOleDB.Open();
cmd.ExecuteNonQuery();
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
finally
{
ConDBOleDB.Close();
}

}




Wenn ich das ganze dann ausführe, bekomme ich mit Visual Studio 2005 beta 2 die Exception "Installierbares ISAM nicht gefunden". Habe aber die korrekten ODBC Treiber installiert. Wenn ich das ganze dann mit Visual Studio 2003 kompiliere, krieg ich eine Exception die mir was von irgendwelchen shice Sicherheitsrisiken erzählt 0.o

Kann mir jmd irgendwie sagen wie ich nun mein Programm zum laufen bekomme?


[update]
Der Connectionstring war wohl falsch. Habe es gefixt (siehe oben). Wenn ich das Programm jedoch nun ausführe, bekomme ich die etwas plumpe Exception: Überlauf. Hat jemand ne Idee?

Lord_Pinhead
29.09.05, 22:08:00
Hast du einmal in der IDE Haltepunkte gesetzt?

Was mir beim Insert noch auffällt, der letzte Tupel ist PLZ, aber du setzt einen String ein, kann es sein das du das übersehen hast? Wird die Datenbank geöffnet? Ich dachte bei normalen Slashes muss man kein Excape setzen.

blue
30.09.05, 16:57:27
Jo moin, hat an der Syntax gelegen. Bei der PLZ durften keine Hochkommata sein. Hat sich aber nun erledigt und mein Projekt kann weiter gehen :that: