' gambas module file
PUBLIC hCon AS Connection 'Conexion que usaremos en toda la aplicacion
PUBLIC SUB creaDB()
DIM hTable AS Table
hCon = NEW Connection 'Instanciamos conexion
WITH hCon
.Type = "sqlite3"
.Host = User.Home
.Name = ""
END WITH
hCon.Open
IF NOT hCon.Databases.Exist("datosper.db") THEN 'Si no existe la base de datos la creamos
hCon.Databases.Add("datosper.db")
WAIT 0.3 'Damos tiempo a que se cree (por si acaso)
hCon.Close 'Cerramos la conexion
hCon.Name = "datosper.db" 'Como ahora sabemos que existe...
hCon.Open 'Volvemos a abrir la conexión con la B.D. creada
'y como la hemos creado nueva, creamos las tablas
IF NOT hCon.Tables.Exist("personas") THEN ' Seguro que no existe pero... comprobamos
hTable = hCon.Tables.Add("personas") ' Añadimos la tabla
WITH hTable.Fields
.Add("idper", db.Serial) ' Campo Id Autoincrement que sera la clave principal
.Add("dniper", db.String, 11) ' Campo DNI - yo le doy 11, pon los que quieras
.Add("nomper", db.String, 30) ' Nombre - longitud, la que quieras
.Add("apeper", db.String, 30) ' Apellidos - idem
END WITH
hTable.PrimaryKey = ["idper"]
hTable.Update
ENDIF
ENDIF
mData.hCon.Close ' Cierro la conexión porque no se lo que quieres hacer despues
' Si vas a trabajar con los datos - dejala abierta
END
PUBLIC hCon AS Connection 'Conexion que usaremos en toda la aplicacion
PUBLIC SUB creaDB()
DIM hTable AS Table
hCon = NEW Connection 'Instanciamos conexion
WITH hCon
.Type = "sqlite3"
.Host = User.Home
.Name = ""
END WITH
hCon.Open
IF NOT hCon.Databases.Exist("datosper.db") THEN 'Si no existe la base de datos la creamos
hCon.Databases.Add("datosper.db")
WAIT 0.3 'Damos tiempo a que se cree (por si acaso)
hCon.Close 'Cerramos la conexion
hCon.Name = "datosper.db" 'Como ahora sabemos que existe...
hCon.Open 'Volvemos a abrir la conexión con la B.D. creada
'y como la hemos creado nueva, creamos las tablas
IF NOT hCon.Tables.Exist("personas") THEN ' Seguro que no existe pero... comprobamos
hTable = hCon.Tables.Add("personas") ' Añadimos la tabla
WITH hTable.Fields
.Add("idper", db.Serial) ' Campo Id Autoincrement que sera la clave principal
.Add("dniper", db.String, 11) ' Campo DNI - yo le doy 11, pon los que quieras
.Add("nomper", db.String, 30) ' Nombre - longitud, la que quieras
.Add("apeper", db.String, 30) ' Apellidos - idem
END WITH
hTable.PrimaryKey = ["idper"]
hTable.Update
ENDIF
ENDIF
mData.hCon.Close ' Cierro la conexión porque no se lo que quieres hacer despues
' Si vas a trabajar con los datos - dejala abierta
END
Si pones esto en un modulo (llámalo mdata o como quieras) y desde tu formulario de entrada pon un boton o desde el
evento Form_Open() o desde......
cuando quieras crear la tablita, lo llamas:
mdata.creaDB()
y ya tienes en el Home de tu usuario tu B. de Datos datosper.db con una tabla - personas con los campos que ves arriba.
Un saludo
Antonio