mysql result in combobox schreiben



  • Hi,

    da mir im Datenbanken Forum keiner so recht helfen konnte und es momentan auch eher an der MFC umsetzung Probleme gibt frag ich mal hier.

    Ich habe in meinem Dialog ein DropDown Menü, in dieses möchte ich beim Programmstart die Werte reinschreiben, welche in der Datenbank stehen. Nun habe ich folgendes Problem. Ich kann die Werte auslesen, möchte diese aber irgendwie zwischenspeichern, am besten in einer Art Array, und dann nach und nach die Einträge aus diesem Array auslesen und zum DropDown Menü hinzufügen.

    Das Problem ist ich weiß nicht genau, wie ich das "zwischenspeichern" lösen soll. Habs mit einem CStringArray versucht aber bin gescheiert. Momentan sieht mein Code so aus.

    void Database::getErrorClasses(){
        choose_database("ErrorClass");
        connect();
        if((mysql_select_db(MySQL, db)) != 0){
            throw "Database doesn't exists. Please choose an existing Database.";
        }
    
        MYSQL_RES  *result;
        MYSQL_ROW  row;
        CStringArray errorName;
    
        mysql_query(MySQL, "SELECT NAME FROM daten ORDER BY ID ASC");
    
        result = mysql_use_result(MySQL);
        while (row = mysql_fetch_row(result)){
    
            errorName.Add(row[0]);
        }
    
        mysql_free_result(result);
    }
    

    Er ließt die Einträge aus der "Name" Spalte nach und nach aus und soll die in ein Array schreiben. Im Code ist es momentan noch ein CStringArray, das klappt aber nicht so ganz und irgendwie kann man das auch nicht an eine andere Funktion übergeben... Würde mich über Vorschläge oder Hilfe freuen.
    Danke.


  • Mod

    Sicher kann man das Ergebnis an eine Funktion übergeben.

    void Test(CStringArray &array)
    {
    // Tue was mit array
    }
    
    ...
    CStrignArray myArray;
    // Fülle myArray
    ...
    
    // Mach was damit
    Test(myArray);
    

Anmelden zum Antworten