Utilizzo base di Gambas e Sqlite3
Gambas e Sqlite
(pagina a cura di Fea Sergio - f.surfing@tiscali.it)
Questo piccolo articolo vuole essere una semplice guida all'utilizzo base di Gambas e Sqlite3, rivolto a chi effettua i primi passi con questo linguaggio di programmazione ed ha necessità di realizzare un applicazione stand-alone che debba immagazzinare una certa quantità di dati in db.
Creazione di un database
Il primo passo che dovremo realizzare sarà appunto creare un database adatto alle nostre esigenze, per far ciò utilizziamo la classe connection del componente gb.db.
Questa classe ha bisogno di alcuni parametri che andremo a fornirgli in questo modo:
Dim sName AS String ' sName è una variabile che indica il nome che diamo al nostro database Dim sPercorso as String ' indica il percorso in cui andremo a creare il db Dim$hConn as NEW Connection sName=”prova” sPercorso=user.home ' definiamo come percorso la nostra home With $hConn .Type = "sqlite3" ' indicazione del tipo di database da utilizzare .Host = sPercorso .Login = "" .Password = "" End With
a questo punto possiamo procedere alla creazione verificando però che il db non sia già presente altrimenti visualizzeremo una finestra di errore:
$hConn.Open If Not $hConn.Databases.Exist(sName) Then ' verifica che il db non esista $hConn.Databases.Add(sName) ' crea il nostro db Else Message.Error("database già esistente", "OK") Endif $hConn.Close
Così abbiamo creato il nostro db ma non ha ancora nessuna tabella all' interno e quindi è inutilizzabile, per realizzare la struttura possiamo utilizzare la funzione .tablefields.add oppure sfruttare un query SQL .
Considerando la seconda ipotesi e volendo creare una tabella di nome "biblio" con dei dati biografici quali:
nome cognome indirizzo
procederemo con una query di questo tipo:
sql = "CREATE TABLE 'biblio' ( 'id' INTEGER PRIMARY KEY AUTOINCREMENTAL, 'nome' VARCHAR(255) DEFAULT NULL, 'cognome' VARCHAR(255) DEFAULT NULL, 'indirizzo' VARCHAR(255) DEFAULT NULL);"
il tutto scritto in un unica riga.
Si noti il campo “id” che contiene l' indice del database ed è di tipo integer autoincrementante (ovvero ogni volta che inseriamo un record il rispettivo id verrà inserito automaticamente.
Tutti gli altri campi io per abitudine li creo di tipo testo con lunghezza 255 caratteri.
Quindi il nostro codice per la creazione del db sarà cosi modificato:
Public Sub Button1_Click() Dim sName As String ' sName è una variabile che indica il nome che diamo al nostro database Dim sPercorso As String ' indica il percorso in cui andremo a creare il db Dim $hConn As New Connection Dim sql As String Dim htable As Result sName = "prova" sPercorso = User.Home ' definiamo come percorso la nostra home With $hConn .Type = "sqlite3" ' indicazione del tipo di database da utilizzare .Host = sPercorso '".Login = "" ' .Password = "" End With $hConn.Open If Not $hConn.Databases.Exist(sName) Then ' verifica che il db non esista $hConn.Databases.Add(sName) ' crea il nostro db $hConn.Close ' chiude il db $hConn.Name = sName $hConn.Open() ' riapre il db per l' aggiunta della tabella ' scrivere la query su un unica riga oppure separarla con i separatori & sql = "CREATE TABLE 'biblio' ( 'id' INTEGER PRIMARY KEY, 'nome' VARCHAR(255) DEFAULT NULL, 'cognome' VARCHAR(255) DEFAULT NULL, 'indirizzo' VARCHAR(255) DEFAULT NULL);" hTable = $hConn.EXEC(sql) $hConn.Commit Label1.Text = "Database creato" Else Message.Error("database già esistente", "OK") Endif $hConn.Close End
Pagina in costruzione !