Announcement

Collapse
No announcement yet.

Fehler beim einfügen von Daten in einer Tabelle

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Fehler beim einfügen von Daten in einer Tabelle

    hallo,<br><br>

    wir greifen über ado auf eine accessdatenbank zu. um für einen neuen eintrag den primärschlüssel zu setzen verwenden wir eine<br> funktion, welche über sql den neuesten index zurücklieftert. die funktion tut auch das was sie soll, aber bevor diese geschieht, erhalten wir <br>eine exception:
    zugriffsverletzung in modul "msjet40.dll"<br>
    folgender quellcode repräsentiert diese funktion.<br>
    für hilfe schon mal vielen dank im vorraus.<br><br>

    int GetNewId(String Tablename, String PKey)<br>
    { //Gibt die jeweils neue ID (Primärschlüssel) zurück.<br>
    int NewId;<br>
    try<br>
    {<br>
    AdoDataModule->MaxIDADOQuery->Close();<br>
    AdoDataModule->MaxIDADOQuery->SQL->Clear();<br>
    AdoDataModule->MaxIDADOQuery->SQL->Add("SELECT MAX(" + PKey + ")");<br>
    AdoDataModule->MaxIDADOQuery->SQL->Add("FROM " + Tablename);<br>
    AdoDataModule->MaxIDADOQuery->Open();<br>
    NewId = AdoDataModule->MaxIDADOQuery->Fields->Fields[0]->AsInteger + 1;<br>
    }<br>
    catch (...)<br>
    {<br>
    return NewId = 0; //Wenn 0, dann lief was krumm.<br>
    }<br>
    return NewId;<br>
    }<br>
Working...
X