Creare un DataBase sqlite3

Da Gambas-it.org - Wikipedia.

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