tutorials.de Buch-Aktion 05/2012
ERLEDIGT
NEIN
ANTWORTEN
2
ZUGRIFFE
586
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Slater Slater ist offline Mitglied Gold
    Registriert seit
    Sep 2002
    Ort
    Bern (CH)
    Beiträge
    223
    Ich habe ein problem mit dem Auslesen einer Acces Datenabnk. Und zwar gibt er mir immer den Fehler:

    Eine nicht behandelte Ausnahme des Typs 'System.Data.OleDb.OleDbException' ist in system.data.dll aufgetreten.

    und zwar nach der Zeile "conn1.Open();"
    Ich finde einfach den Fehler nicht.

    Kann mir jemand helfen?

    mfg
    Slater

    Code :
    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
    
    for (int i=1; i<=100; i++)
    {
    OleDbConnection conn1 = new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;" + "Data Source=Datenbank.mdb");
    OleDbCommand cmd1 = new OleDbCommand();
    cmd1.Connection = conn1;
    cmd1.CommandText = "SELECT Winkel AS Winkel FROM Kran WHERE ID=" + i + "";
    conn1.Open();
    int Winkel = Convert.ToInt32(cmd1.ExecuteScalar());
    conn1.Close();
    OleDbConnection conn2 = new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;" + "Data Source=Datenbank.mdb");
    OleDbCommand cmd2 = new OleDbCommand();
    cmd2.Connection = conn2;
    cmd2.CommandText = "SELECT YHacken AS Yhacken FROM Kran WHERE ID=" + i + "";
    cmd2.Connection.Open();
    int YHacken = Convert.ToInt32(cmd2.ExecuteScalar());
    conn2.Close();
    OleDbConnection conn3 = new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;" + "Data Source=Datenbank.mdb");
    OleDbCommand cmd3 = new OleDbCommand();
    cmd3.Connection = conn3;
    cmd3.CommandText = "SELECT XLaufkatze AS XLaufkatze FROM Kran WHERE ID=" + i + "";
    cmd3.Connection.Open();
    int XLaufkatze = Convert.ToInt32(cmd3.ExecuteScalar());
    conn3.Close();
    int x = i+3;
    ws.Cells[x,1] = Convert.ToString(i);
    ws.Cells[x,2] = Convert.ToString(Winkel);
    ws.Cells[x,3] = Convert.ToString(YHacken);
    ws.Cells[x,4] = Convert.ToString(XLaufkatze);
    }
     
    Letztes Jahr stand meine Firma noch vor dem Abgrund.
    Dieses Jahr haben wir einen Schritt vorwärts gemacht!

  2. #2
    deadlook deadlook ist offline Mitglied
    Registriert seit
    Feb 2005
    Beiträge
    10
    for (int i=1; i<=100; i++)
    {
    OleDbConnection conn1 = new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;" + "Data Source=Datenbank.mdb");
    OleDbCommand cmd1 = new OleDbCommand();
    cmd1.Connection = conn1;
    cmd1.CommandText = "SELECT Winkel AS Winkel FROM Kran WHERE ID=" + i + "";
    conn1.Open();
    conn1.BeginTransaction();
    [Kannst ja mal so probieren ....... V V V V V V V]
    int Winkel = Convert.ToInt32(cmd1.ExecuteReader());
    conn1.Close();
    Woher kommt das conn1.open ? Probiers aber mal mit BeginTransaction . Ich denke das müsste funktionieren. (Im .NET Framework 1.1 ist das zumindest der Fall).

    Oder ich habe deine Frage falsch interpretiert.
    (Bitte mach mir keine Vorwürfe wenns nicht funktioniert, ich arbeite mit MySql-Datenbanken).
    Geändert von deadlook (16.02.05 um 17:09 Uhr)
     

  3. #3
    erhardt erhardt ist offline Mitglied Gold
    Registriert seit
    Jul 2004
    Ort
    Augsburg
    Beiträge
    154
    Hi,

    koenntest du die genaue ExceptionMessage posten? 'System.Data.OleDb.OleDbException' ist ein wenig zu allgemein um zu sagen wo genau der Fehler liegt.
    Du oeffnest und schließt die Verbindung zur Datenbank etwa 300 mal. Ich denke das da verbindungslose DataTables besser geeignet waeren. So in etwa (Pseudocode!):
    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    
    string connString = "Provider=Microsoft.Jet.OLEDB.4.0;" + "Data Source=Datenbank.mdb";
    OleDbConnection conn = new OleDbConnection(connString);
     
    string sql =  "SELECT Winkel AS Winkel FROM Kran";
    OleDbDataAdapter adapter = new OleDbDataAdapter(sql, conn);
    DataTable Winkel = new DataTable();
    adapter.Fill(Winkel);
     
    adapter.SelectCommand.CommandText = "SELECT YHacken AS Yhacken FROM Kran";
    DataTable YHacken = new DataTable();
    adapter.Fill(YHacken);
     
    adapter.SelectCommand.CommandText = "SELECT XLaufkatze AS XLaufkatze FROM Kran";
    DataTable XLaufkatze = new DataTable();
    adapter.Fill(XLaufkatze);
     
    for (int i = 1; i <= 100; i++)
    {
        int x = i + 3;
        ws.Cells[x, 1] = Convert.ToString(i);
        ws.Cells[x, 2] = Convert.ToString(Winkel.Rows[i]["Winkel"]);
        ws.Cells[x, 3] = Convert.ToString(YHacken.Rows[i]["Yhacken"]);
        ws.Cells[x, 4] = Convert.ToString(XLaufkatze.Rows[i]["XLaufkatze"]);
    }
     
    I don't care if it works on your machine. We are not shipping your machine!

Ähnliche Themen

  1. Fehler beim Auslesen der Datenbank
    Von Henig im Forum PHP
    Antworten: 2
    Letzter Beitrag: 10.02.10, 12:34
  2. Antworten: 2
    Letzter Beitrag: 19.09.05, 18:03
  3. Fehler beim auslesen einer Datenbank mit PHP :(
    Von Suchfunktion im Forum PHP
    Antworten: 5
    Letzter Beitrag: 01.07.05, 07:49
  4. Fehler beim hochladen der Datenbank
    Von MarBo im Forum Relationale Datenbanksysteme
    Antworten: 12
    Letzter Beitrag: 03.06.04, 09:55
  5. Fehler beim öffnen der Datenbank
    Von neopayne im Forum Visual Basic 6.0
    Antworten: 1
    Letzter Beitrag: 26.01.04, 14:12