#AutoIt3Wrapper_Au3Check_Parameters=-q -d -w 1 -w 2 -w 3 -w 4 -w 5 -w 6 -w 7
;~ #AutoIt3Wrapper_UseX64=n ; ### Win32-DLL ###

#include <SQLite.au3>
#include <SQLite.dll.au3>

Global $listview, $aResult, $iRows, $iColumns, $listviewID, $listviewText

_SQLite_Startup()
If @error Then Exit MsgBox(16, "SQLite Fehler", "SQLite.dll konnte nicht geladen werden!")
_SQLite_Open()
If @error Then Exit MsgBox(16, "SQLite Fehler", "Kann die Datenbank nicht öffnen!")

;~ ### Die Tabelle "BeispielDB" erstellen. ###
_SQLite_Exec(-1, "CREATE TABLE BeispielDB (ID INTEGER PRIMARY KEY, Name Text, Vorname Text, Summe Real);")

;~ ### Mustereingaben vornehmen ###
_SQLite_Exec(-1, "INSERT INTO BeispielDB(Name,Vorname,Summe) VALUES ('Muster','Max',1000);")
_SQLite_Exec(-1, "INSERT INTO BeispielDB(Name,Vorname,Summe) VALUES ('Duck','Donald',130.05);")
_SQLite_Exec(-1, "INSERT INTO BeispielDB(Name,Vorname,Summe) VALUES ('Duck','Daisy',400.55);")
_SQLite_Exec(-1, "INSERT INTO BeispielDB(Name,Vorname,Summe) VALUES ('Bond','James',100.95);")
_SQLite_Exec(-1, "INSERT INTO BeispielDB(Name,Vorname,Summe) VALUES ('Muster','Max',500);")
_SQLite_Exec(-1, "INSERT INTO BeispielDB(Name,Vorname,Summe) VALUES ('Duck','Dagobert',10030.52);")
_SQLite_Exec(-1, "INSERT INTO BeispielDB(Name,Vorname,Summe) VALUES ('Muster','Max',500);")

;~ ### Beispiel-Abfragen formulieren. ###
;i Rowid und ID sind nicht das Gleiche!

;~ _SQLite_GetTable2d(-1, "Select rowid,* From BeispielDB", $aResult, $iRows, $iColumns)
;~ _SQLite_GetTable2d(-1, "Select Vorname,Name,Summe From BeispielDB", $aResult, $iRows, $iColumns)
_SQLite_GetTable2d(-1, "Select * From BeispielDB", $aResult, $iRows, $iColumns)
;~ _SQLite_GetTable2d(-1, "Select * From BeispielDB WHERE name LIKE 'm%'", $aResult, $iRows, $iColumns)
;~ _SQLite_GetTable2d(-1, "SELECT vorname,name,SUM(Summe) AS Gesamt FROM BeispielDB WHERE name LIKE 'd%'", $aResult, $iRows, $iColumns)
;~ _SQLite_GetTable2d(-1, "SELECT name,SUM(Summe) AS Gesamt FROM BeispielDB WHERE name LIKE 'd%'", $aResult, $iRows, $iColumns)
;~ _SQLite_GetTable2d(-1, "SELECT COUNT(name) AS Anzahl_Eintraege FROM BeispielDB", $aResult, $iRows, $iColumns)
;~ _SQLite_GetTable2d(-1, "SELECT Name, SUM(Summe) AS Gesamt FROM BeispielDB GROUP BY Name", $aResult, $iRows, $iColumns)

$listviewText = ""
For $iC = 0 To $iColumns - 1
	$listviewText &= $aResult[0][$iC] & "|"
;~ 				MsgBox(0, "", $listviewText)
Next
;~ MsgBox(0, "", $listviewText)

GUICreate("SQLite-Listview", 400, 400)
$listview = GUICtrlCreateListView($listviewText, 0, 0, 400, 300)
GUISetState(@SW_SHOW)

For $iR = 1 To $iRows
	$listviewID = ""
	For $iC = 0 To $iColumns - 1
		$listviewID &= $aResult[$iR][$iC] & "|"
;~ 				MsgBox(0,"",$listviewID)
	Next
	GUICtrlCreateListViewItem($listviewID, $listview)
Next

_SQLite_Exec(-1, "DROP TABLE BeispielDB;")
_SQLite_Close()
_SQLite_Shutdown()

While GUIGetMsg() <> -3
WEnd
; Ende