Creare un DataBase sqlite3
Vai alla navigazione
Vai alla ricerca
Nella presente pagina mostreremo qualche un esempio pratico per creare in Gambas un DataBase con sqlite3.
Il codice del seguente esempio [Nota 1] crea una cartella nella Home chiamata "MyReport" e all'interno il database Report_DB.sqlite:
Public Sub Form_Open()
Dim vConnessione As New Connection
Dim vPercorso As String ' variabile per il percorso in cui creare il db
Dim vDatabase As String ' variabile per il nome che diamo al database
Dim vTabella As Table
Dim vTabellaUno As String ' variabile per la creazione della tabella UNO e dei campi
Dim vTabellaDue As String ' variabile per la creazione della tabella DUE e dei campi
Dim vRisultato As Result
vPercorso = User.Home &/ "MyReport/" ' definisce il percorso del database
vDatabase = "Report_DB.sqlite" ' definisce il nome del database
vTabellaUno = "CREATE TABLE 'NomeTabellaUno'" & ' nome della tabella e dei campi che si andrà a creare
"('id_TabellaUno' INTEGER PRIMARY KEY," & ' chiave primaria
"'NomeCampoUnoNumerico' INTEGER Default '0'," & ' nome del campo, tipo e valore predefinito
"'NomeCampoDue' VARCHAR(55) Default Null," & ' nome del campo, tipo e valore predefinito
"'NomeCampoTre' VARCHAR(55) Default Null);" ' nome del campo, tipo e valore predefinito
vTabellaDue = "CREATE TABLE 'NomeTabellaDue'" &
"('id_TabellaDue' INTEGER PRIMARY KEY," &
"'NomeCampoUnoNumerico' INTEGER Default '0'," &
"'NomeCampoDue' VARCHAR(55) Default Null," &
"'NomeCampoTre' VARCHAR(55) Default Null);"
With vConnessione
.Type = "sqlite3" ' indicazione del tipo di database da utilizzare
.Host = vPercorso
.Login = ""
.Password = ""
End With
If Not Exist(vPercorso) Then ' se non esiste la cartella MyReport
Mkdir User.Home & "/MyReport" ' creala
End If
vConnessione.Open() ' apre la connessione
If Not vConnessione.Databases.Exist(vDatabase) Then ' verifica che il db non esista già
vConnessione.Databases.Add(vDatabase) ' crea il database
vConnessione.Close() ' chiude la connessione
vConnessione.Name = vDatabase ' alla connessione assegna il nome del database
vConnessione.Open() ' riapre la connessione
vRisultato = vConnessione.Exec(vTabellaUno) ' aggiunge al database la tabella con i campi, come sopra definito
vRisultato = vConnessione.Exec(vTabellaDue) ' aggiunge al database la tabella con i campi, come sopra definito
Message.Info("Nella Home è stata creata la cartella MyReport" & Chr$(10) & "e il database Report_DB.sqlite", "Ok") ' informa che il database è stato creato
Endif
vConnessione.Close() ' chiude la connessione
End
Successivamente per connettersi:
Dim vConnessione As New Connection
With vConnessione
.Type = "sqlite3" ' indicazione del tipo di database da utilizzare
.Name = "Report_DB.sqlite"
.Host = User.Home &/ "MyReport/"
.Login = ""
.Password = ""
End With
vConnessione.Open()
' qui va scritto il codice per agire sul database
vConnessione.Close()
Note
[1] Questo esempio è proposto dal membro ilfurlan del forum gambas-org.it