Io ho il seguente codice:
DIM sql AS String
DIM hres AS Result
IF bop = 1 THEN
WITH MSysCont.$hConn
.Type = "sqlite3"
.Host = MSysCont.sPercorso
.Login = ""
.Password = ""
.Open
.Begin
hres = .Create("clienti")
hres!ragsociale = TextBox1.Text
hres!indirizzo = TextBox2.Text
hres!cap = TextBox3.Text
hres!citta = TextBox4.Text
hres!provincia = TextBox5.Text
hres!partitaiva = TextBox6.Text
hres!codicefiscale = TextBox7.Text
hres!telefono1 = TextBox8.Text
hres!telefono2 = TextBox9.Text
hres!fax = TextBox10.Text
hres!email = TextBox11.Text
hres.Update
.Commit
.Close
END WITH
bOp = 0
MenuFileApri.Enabled = TRUE
MenuFileNuovo.Enabled = TRUE
MenuFileSalva.Enabled = FALSE
MenuFileStampa.Enabled = TRUE
FPulisci
ENDIF
Quando lancio il programma con F5 alla riga che dice:
hres = .Create("clienti")
mi da' il seguente errore:
Unknown table: clienti
Ho già controllato che nel database la tabella clienti è presente (vuota)...
...e non so che fare
:hatecomputer:
Ciao,
prova con questa funzione
PUBLIC $conn AS NEW Connection
PUBLIC sqliteName AS String = "prova"
PUBLIC sqlitePercorso AS String = Application.Path
'''XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
PUBLIC PROCEDURE Connect()
$conn.Close
$conn.Type = "sqlite3"
$conn.Host = sqlitePercorso
$conn.Name = sqliteName
$conn.Open
END
PUBLIC PROCEDURE disconnect()
$conn.Close
END
'''XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
PUBLIC SUB controlladb()
IF NOT Exist(sqlitePercorso & "/" & sqliteName) THEN
IF Message.Question("Creo il database", "Si", "No") = 1 THEN
WITH $conn
.Type = "sqlite3"
.Host = sqlitePercorso
END WITH
$conn.Open
$conn.Databases.Add(sqliteName)
$conn.Close
$conn.Name = sqliteName
$conn.Open()
creatabella()
ENDIF
ENDIF
END
PUBLIC SUB creatabella()
DIM sql AS String
sql = "CREATE TABLE 'rubrica' ("
sql &= " 'idrubrica' INTEGER PRIMARY KEY,"
sql &= " 'cognome' varchar(20) DEFAULT NULL,"
sql &= " 'nome' varchar(20) DEFAULT NULL,"
sql &= " 'indirizzo' varchar(30) DEFAULT NULL,"
sql &= " 'citta' varchar(30) DEFAULT NULL,"
sql &= " 'provincia' varchar(20) DEFAULT NULL,"
sql &= " 'telefono' varchar(10) DEFAULT NULL);"
$conn.EXEC(sql)
$conn.Commit
$conn.Close
END
se questo codice lo metti in un modulo con nome esempio MODMain
all'apertura del programma ci metti un bel
così controlla se esiste il db, altrimenti lo crea e crea anche la tabella
e per connetterti al database un bel
fammi sapere, ciao