SQLite Array in Listview einbinden

  • Hallo Leute...

    Da ich noch neu auf SQL bin habe ich dabei so meine Probleme...

    Habe mir folgende Funktionen zusammengebastelt
    Leider funktioniert das Updaten der Bookmarks nicht (Zeile ist markiert)

    Spoiler anzeigen
    [autoit]


    Func _DB_Bookmarks_Add($vTitle,$vURL,$vTime)
    ;_SQLite_Exec($DB,"CREATE TABLE bookmarks (title,url,time);")
    _SQLite_Exec($DB,"INSERT INTO bookmarks (title,url,time) VALUES ('"&$vTitle&"','"&$vURL&"','"&$vTime&"');")
    _DB_Bookmarks_Update()
    EndFunc
    Func _DB_Bookmarks_Del($vTitle)
    ;_SQLite_Exec($DB,"CREATE TABLE bookmarks (title,url,time);")
    Local $DB_Return
    _SQLite_QuerySingleRow($DB,"SELECT title FROM bookmarks WHERE title='"&$vTitle&"'",$DB_Return)
    If $DB_Return[0] <> "" Then
    _SQLite_Exec($DB,"DELETE FROM bookmarks WHERE title='"&$vTitle&"'")
    EndIf
    _DB_Bookmarks_Update()
    EndFunc
    Func _DB_Bookmarks_Update()
    Local $aResult, $iRows, $iColumns, $iRval
    Local $DB_Return,$_GUI_Bookmarks_ListView
    If _SQLite_GetTable2d (-1, "SELECT * FROM bookmarks;", $DB_Return, $iRows, $iColumns) = $SQLITE_OK Then
    _ArrayDisplay($DB_Return)
    _GUICtrlListView_DeleteAllItems($_GUI_Bookmarks_ListView)
    ;DIESE ZEILE
    _GUICtrlListView_AddArray($_GUI_Bookmarks_ListView,$DB_Return);<------------ $DB_Return ist ein Array, es wird jedoch nicht hinzugefügt
    ;DIESE ZEILE
    EndIf
    EndFunc

    [/autoit]

    Bookmark GUI:

    [autoit]

    Func GUI_Bookmarks()
    Global $_GUI_Bookmarks = GUICreate("Bookmarks",300,345,-1, -1, BitOR($WS_MINIMIZEBOX, $WS_MAXIMIZEBOX, $WS_SIZEBOX, $WS_CAPTION, $WS_POPUP, _
    $WS_SYSMENU), $WS_EX_ACCEPTFILES)
    GUISetOnEvent($GUI_EVENT_CLOSE, "GUI_Bookmarks_Close")
    GUICtrlCreateButton("+",0,0,20,20)
    GUICtrlSetTip(-1,"Add bookmark")
    GUICtrlSetOnEvent(-1,"GUI_ADD_Bookmarks_Show")

    [/autoit] [autoit][/autoit] [autoit]

    GUICtrlCreateButton("-",20,0,20,20)
    GUICtrlSetTip(-1,"Delete bookmark")
    GUICtrlSetOnEvent(-1,"GUI_Bookmarks_DeleteCurSel")

    [/autoit] [autoit][/autoit] [autoit]

    GUICtrlCreateButton(">",300-20,0,20,20)
    GUICtrlSetTip(-1,"Open bookmark")
    GUICtrlSetOnEvent(-1,"GUI_Bookmarks_Open")

    [/autoit] [autoit][/autoit] [autoit]

    Global $_GUI_Bookmarks_ListView = GUICtrlCreateListView("Title|URL|Added on",0,20,300,345-20)
    GUICtrlSetResizing(-1, BitOR($GUI_DOCKLEFT, $GUI_DOCKRIGHT, $GUI_DOCKBOTTOM, $GUI_DOCKTOP))
    GUISetState(@SW_HIDE,$_GUI_Bookmarks)
    _DB_Bookmarks_Update()
    EndFunc

    [/autoit]

    Vielen Dank für eure hilfe mal im voraus :D

    2 Mal editiert, zuletzt von sl4y3r (20. Mai 2011 um 17:36)

  • So... nach langem suchen hab ichs gefunden -.-

    [autoit]

    Func _DB_Bookmarks_Update()
    Local $aResult, $iRows, $iColumns, $iRval
    Local $DB_Return
    Dim $_GUI_Bookmarks_ListView ;<-- war als local festgelegt
    _GUICtrlListView_DeleteAllItems(GUICtrlGetHandle($_GUI_Bookmarks_ListView));<-- braucht guictrlgethandle sonst funzts nich... kA warum
    If _SQLite_GetTable2d (-1, "SELECT * FROM bookmarks;", $DB_Return, $iRows, $iColumns) = $SQLITE_OK Then
    _ArrayDelete($DB_Return,0)
    _GUICtrlListView_AddArray($_GUI_Bookmarks_ListView,$DB_Return);jetz gehts :D
    EndIf
    EndFunc

    [/autoit]

    mfg. andi

  • @sl4y3r wenn du dir nicht angewöhnen kannst (vo dir selbst) helöste Threads af gelöst z setzen gewöhne ich mir an künftige Hilfethreads von dir zu ignorieren, dies gilt natürlich ach für andere

    mfg autoBert