Problem mit TQuery Datenbank.. vieleicht auch TTreeView



  • Also ich habe ein Problem *ziehmlich großes .. den ich habe keinerlei idee mehr für mögliche ursachen*

    der Code ist

    try 
            {
            Query1->Close();
            Query1->SQL->Clear();
            Query1->SQL->Add("select distinct Interpret, Album from Data");//"SELECT Album, Titel  FROM Data WHERE Interpret = 'Hanswerner'");
            Query1->Open();
    
            AnsiString Interpretabl;
            TTreeNode* Item;
            while(!Query1->Eof)
            {
                    if((Interpretabl != Query1->FieldByName("Interpret")->AsString) && (Query1->FieldByName("Interpret")->AsString != ""))
                    {
                            Item = TreeView2->Items->Add(NULL, Query1->FieldByName("Interpret")->AsString);
                            Interpretabl = Query1->FieldByName("Interpret")->AsString;
                    }
                    if( Query1->FieldByName("Album")->AsString != "")
                    {
                            TTreeNode* Album = TreeView2->Items->AddChild(Item, Query1->FieldByName("Album")->AsString);
                    }
                    Query1->Next();
            }
            }
            catch(...)
            {
            Application->MessageBox("Error opening Database",NULL,NULL);
            }
    

    Dabei sollen daten aus einem Tabel Daten ausgelesen werden und in einem Tree Darzustellen...
    Leider gibt es ab einer gewissen Datenbankgröße massive Probleme (sprich der catch fall trifft ein 😞 )
    ohne eigenen catch tritt der standart catch fall von Borland (Formcreate) ein

    ich hoffe es kann mir jemand helfen



  • Hallo

    benutzt den Debugger und las dir die Messages der geworfenen Exceptions anzeigen, anstatt sie einfach mit deiner Standard-Message anzuzeigen.

    bis bald
    akari



  • okay... die fehlermeldung ist

    "Project Project1.exe raised exception class EOutOfResources with message 'Unable to insert an item'. Process stopped. Use Step or Run to continue."



  • Hallo

    Wieviele Datensätze willst du denn eintragen und bei dem wievieltem kommt die Exception?

    bis bald
    akari



  • insgesammt etwa 200 (mit children)

    das soll die interpreten und alben meiner Musiksammlung darstellen... (später sollen auch mehr als 200 möglich sein)

    hmm....

    wollte gerade einen zähler einbauen... laut dem es schon beim ersten währe...

    aber ich habe mitlerweile auch ne anderen Error :
    "Project Project1.exe raised exeption class EAccessViolation with Message 'Access ciolation at Adress 40134100 in module 'vcl60bpl'. Read of adress 00000057'. Process stopped. Use Step or Run to continue"



  • Also... vorraussichtlich... bestand das problem aus leeren Einträgen in der Datenbank

    habe mal alles leere durch UNBEKANNT ersetzen lassen... jetzt geht alles


Anmelden zum Antworten