Jump to content
Sign in to follow this  
Gerifield

SQLite GUI Example

Recommended Posts

Gerifield

This is only an example for SQLite.

It creates a database, and you can add, update or delete datas.

I think somebody can use it... :mellow:

Pic:

Posted Image

#include <GUIConstants.au3>
#include <EditConstants.au3>
#include <SQLite.au3>
#include <SQLite.dll.au3>

$form_num = 1

#Region ### START Koda GUI section ### Form=
$Form1 = GUICreate("Sqlite GUI test", 223, 359, 267, 119)
$count = GUICtrlCreateInput($form_num, 144, 10, 33, 21, BitOR($ES_AUTOHSCROLL,$ES_READONLY))
$b_right = GUICtrlCreateButton(">", 176, 8, 27, 25, 0)
$b_left = GUICtrlCreateButton("<", 120, 8, 27, 25, 0)
$lname = GUICtrlCreateLabel("Name:", 8, 48, 48, 17)
$iname = GUICtrlCreateInput("", 64, 48, 145, 21)
$ladress = GUICtrlCreateLabel("Adress:", 8, 88, 45, 17)
$iadress = GUICtrlCreateInput("", 64, 88, 145, 21)
$iemail = GUICtrlCreateInput("", 64, 128, 145, 21)
$lemail = GUICtrlCreateLabel("E-mail:", 8, 128, 46, 17)
$lother = GUICtrlCreateLabel("Other:", 8, 168, 46, 17)
$eother = GUICtrlCreateEdit("", 64, 168, 145, 121)
$badd = GUICtrlCreateButton("Add", 48, 312, 75, 25, 0)
$bdel = GUICtrlCreateButton("Delete", 128, 312, 75, 25, 0)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###

_SQLite_Startup()
If NOT FileExists("database.db") Then
    $dbn=_SQLite_Open("database.db")
    _SQLite_Exec($dbn,"CREATE TABLE datas (id,name,adress,email,other);")
Else
    $dbn=_SQLite_Open("database.db")
EndIf

dataquery($form_num)

While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
        Case $GUI_EVENT_CLOSE
            progend()
        Case $b_right
            $form_num = $form_num + 1
            GUICtrlSetData($count,$form_num)
            dataquery($form_num)
        Case $b_left
            If $form_num == 1 Then
                $form_num = 1
                GUICtrlSetData($count,$form_num)
            Else
                $form_num = $form_num - 1
                GUICtrlSetData($count,$form_num)
                dataquery($form_num)
            EndIf
        Case $badd
            IF GUICtrlRead($iname) == "" Then
                MsgBox(0,"ERORR","Empty name!")
            Else
                dataadd($form_num)
            EndIf
        Case $bdel
            datadel($form_num)
    EndSwitch
WEnd

Func progend()
    _SQLite_Close()
    _SQLite_Shutdown()
    Exit
EndFunc



Func dataadd($id)
    Local $retarr
    $str1 = GUICtrlRead($iname)
    $str2 = GUICtrlRead($iadress)
    $str3 = GUICtrlRead($iemail)
    $str4 = GUICtrlRead($eother)
    _SQLite_QuerySingleRow($dbn,"SELECT id FROM datas WHERE id='"&$id&"'",$retarr)
    If $retarr[0] <> "" Then
        _SQLite_Exec($dbn,"UPDATE datas SET name='"&$str1&"', adress='"&$str2&"',email='"&$str3&"',other='"&$str4&"' WHERE id='"&$id&"'")
    Else
        _SQLite_Exec($dbn,"INSERT INTO datas (id,name,adress,email,other) VALUES ('"&$form_num&"','"&$str1&"','"&$str2&"','"&$str3&"','"&$str4&"');")
    EndIf
EndFunc


Func dataquery($id)
    GUICtrlSetData($iname,"")
    GUICtrlSetData($iadress,"")
    GUICtrlSetData($iemail,"")
    GUICtrlSetData($eother,"")
    Local $retarr
    If _SQLite_QuerySingleRow($dbn,"SELECT * FROM datas WHERE id='"&$id&"'",$retarr) == $SQLITE_OK Then
        If $retarr[0] == "" Then
        ;MsgBox(0,"ERROR","Query error!")
        Else
            GUICtrlSetData($iname,$retarr[1])
            GUICtrlSetData($iadress,$retarr[2])
            GUICtrlSetData($iemail,$retarr[3])
            GUICtrlSetData($eother,$retarr[4])
        EndIf
    EndIf
EndFunc

Func datadel($id)
    Local $retarr
    GUICtrlSetData($iname,"")
    GUICtrlSetData($iadress,"")
    GUICtrlSetData($iemail,"")
    GUICtrlSetData($eother,"")
    _SQLite_QuerySingleRow($dbn,"SELECT id FROM datas WHERE id='"&$id&"'",$retarr)
    If $retarr[0] <> "" Then
        _SQLite_Exec($dbn,"DELETE FROM datas WHERE id='"&$id&"'")
    EndIf       
EndFunc

(I know that's not a "perfect" code, but it's working! :( )

sqlite_test_form.au3


Sorry, but i don't speak English very well... :SExamples:SQLite with guiMake AU3 from DLL

Share this post


Link to post
Share on other sites
Avian

This is only an example for SQLite.

It creates a database, and you can add, update or delete datas.

I think somebody can use it... :mellow:

Thanks, Gerifield! I've been looking for a simple example on how to do this!


A millihelen is the amount of beauty required to launch one ship.

Share this post


Link to post
Share on other sites
gseller

I Agree!! Thanks Gerifield! This is a great example...

Share this post


Link to post
Share on other sites
Bam

love the example, but i have 1 question.

_SQLite_QuerySingleRow($dbn,"SELECT id FROM datas WHERE id='"&$id&"'",$retarr)

"SELECT id FROM datas WHERE id='"&$id&"'",

how did u know what to put thier? is thier a list of commands i can look at?

Share this post


Link to post
Share on other sites
tnek

Thanks from another noob.

Share this post


Link to post
Share on other sites
stinson6016

sqlite fun


Gnatwork Networks

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

×