Se a qualcuno può tornare utile, si fa così... sembra difficile ma non lo è, provate ;)
Il codice 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) ' 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 Sub
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 scrivo il codice per agire sul database
vConnessione.Close()