sqlite und text felder



  • hi!

    ich habe eine sqlite db in der ich felder ("Name") vom type text verwende. nun möcht ich diese in einer listbox ausgeben.

    int __fastcall TForm7::LoadBon(int x)
    {
    	sql = "SELECT ID, Name FROM Bon";
    	if(SQLITE_OK != sqlite3_exec(db, sql, CallbackBon, NULL, &dberr))
    	{
    		free(dberr);
    	}
    }
    int CallbackBon( void *Pointer, int argc, char **argv, char **columnNames)
    {
    	Form7->ListBox1->Items->Add(argv[1]);	
    	return 0;
    }
    

    wenn ich das programm starte, dann hab ich in der listbox alle namen in einer zeile stehen (und dazwischen zwei sonderzeichen[zeilenumbruch]).

    wie kann ich ein feld (type text) aufsplitten? Und wie zeilenweisse hinein schreiben?

    danke...



  • oder vieleicht kann mir jemand schriben, wie ich einen ganzen text(mit zeilenumbruch), der in einen string gespeichert ist, aufsplitten kann.

    habe´s schon vervucht mit:

    while(!string.eoln())

    aber das funktioniert nicht so, wie ich mir das vorstelle.

    danke



  • Hallo

    Wenn die Zeilen wirklich durch Zeilenumbruch getrennt sind, sollte das reichen :

    Form7->ListBox1->Items->Text = argv[1];
    

    bis bald
    akari



  • hmmm, dann dürfte das kein richtiger zeilenumbruch sein, weil in meiner textbox steht alles in einer zeile, die mit zwei kleinen quadraten(sonderzeichen) getrennt sind. ich könnte natürlich den string auf diese sonderzeichen durchsuchen und dann aufsplitten, aber wenn es eine elegantere lösung gibt, wäre das super. 🙂

    lg



  • hab schon eine lösung:

    das problem ist, daß listbox keinen zeilenumbruch kann.
    aber mit memo funktioniert.


Anmelden zum Antworten