autoit sqlite 예제
#include <Array.au3>
#include <SQLite.au3>
_SQLite_Startup() ; Load the DLL
If @error Then Exit MsgBox(0, "Error", "Unable to start SQLite, Please verify your DLL")
Local $sDatabase = @ScriptDir & '\SQLiteTestDatabase.db'
Local $hDatabase = _SQLite_Open($sDatabase) ; Create the database file and get the handle for the database
_SQLite_Exec($hDatabase, 'CREATE TABLE People (first_name, last_name);') ; CREATE a TABLE with the name "People"
_SQLite_Exec($hDatabase, 'INSERT INTO People VALUES ("Timothy", "Lee");') ; INSERT "Timothy Lee" into the "People" TABLE
_SQLite_Exec($hDatabase, 'INSERT INTO People VALUES ("John", "Doe");') ; INSERT "John Doe" into the "People" TABLE
Local $aResult, $iRows, $iColumns ; $iRows and $iColuums are useless but they cannot be omitted from the function call so we declare them
_SQLite_GetTable2d($hDatabase, 'SELECT * FROM People;', $aResult, $iRows, $iColumns) ; SELECT everything FROM "People" TABLE and get the $aResult
_ArrayDisplay($aResult, "Results from the query")
_SQLite_Close($hDatabase)
_SQLite_Shutdown()
sqlite이용 하여 그룹별로 저장하고 그룹별 탭을 클릭시 해당룹의 내용을 보여주는 예제
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#include <SQLite.au3> ; SQLite UDF 포함 (미리 설치 필요)
#include <Array.au3>
; 데이터베이스 초기화
_SQLite_Startup()
Local $db = _SQLite_Open(":memory:") ; 메모리 기반 데이터베이스 사용
; 데이터베이스 테이블 생성
_SQLite_Exec($db, "CREATE TABLE data (key TEXT, value TEXT, group_name TEXT);")
; 예제 데이터 삽입
_SQLite_Exec($db, "INSERT INTO data VALUES ('Key1', 'Value1', 'Group1');")
_SQLite_Exec($db, "INSERT INTO data VALUES ('Key2', 'Value2', 'Group1');")
_SQLite_Exec($db, "INSERT INTO data VALUES ('Key3', 'Value3', 'Group2');")
_SQLite_Exec($db, "INSERT INTO data VALUES ('Key4', 'Value4', 'Group2');")
_SQLite_Exec($db, "INSERT INTO data VALUES ('Key5', 'Value5', 'Group3');")
; GUI 생성
Local $hGUI = GUICreate("Tab View with SQLite", 500, 400)
; Tab 컨트롤 생성
Local $hTab = GUICtrlCreateTab(10, 10, 480, 350)
; 그룹별 탭 생성
Local $aGroups
_SQLite_GetTable2d($db, "SELECT DISTINCT group_name FROM data;", $aGroups)
; 각 그룹 탭에 데이터를 표시
For $i = 1 To UBound($aGroups) - 1
Local $sGroupName = $aGroups[$i][0]
GUICtrlCreateTabItem($sGroupName)
; 그룹 내의 키-값 데이터 가져오기
Local $aData
_SQLite_GetTable2d($db, "SELECT key, value FROM data WHERE group_name = '" & $sGroupName & "';", $aData)
; 각 그룹의 데이터를 Label로 추가
Local $nY = 20
For $j = 1 To UBound($aData) - 1
Local $sText = $aData[$j][0] & ": " & $aData[$j][1]
GUICtrlCreateLabel($sText, 20, $nY, 440, 20)
$nY += 25
Next
Next
; 첫 번째 탭을 기본 탭으로 설정
GUICtrlCreateTabItem("")
; GUI 표시
GUISetState(@SW_SHOW)
; 메시지 루프
While 1
If GUIGetMsg() = $GUI_EVENT_CLOSE Then ExitLoop
WEnd
; 종료 처리
GUIDelete()
_SQLite_Close($db)
_SQLite_Shutdown()
Exit