Hola,
Las imágenes que intentaron adjuntar no se ven, para subirlas correctamente hay que usar el botón
Igmur
Luego para el asunto de la conexión, lo mas práctico es que uses un método al inicio de tu programa que defina los parámetros de conexión y listo.
Por ejemplo en mis programas que usan bases de datos uso varios métodos que se encargan de crear los directorios y la base de datos en el primer inicio y de establecer la conexión y dejarla lista para su utilización.
Suelo usar algo por el estilo de: [User.Home]/.programa/labase.sqlite.
Como explicaba Julio, [User.Home] es una forma muy flexible de guardar los datos de forma relativa que vale para todos los usuarios, la de application.path no me convence porque depende de si el programa se ejecuta desde el IDE o desde un .gambas instalado cambia.
Dejo un ejemplo:
Código:
'' Verify that the program directory exists in Home
adi = User.Home &/ "." & String.LCase(vag.NoSymbols(Application.Name))
If Exist(adi) = False Then
Shell "mkdir -p " & adi Wait
Endif
'' Verify that the database exists
con.Host = adi
dbn = "app.sqlite"
sql = File.Load("./sqlite.sql")
'2 Now we ask the connection if the database exists, for this we must open it
con.Open
If con.Opened Then
If con.Databases.Exist(dbn) Then
' Print ("The database exists") & " " & dbn
con.Close
con.Name = dbn
con.Open
If con.Tables.Count = 2 Then
' Print ("Database is inconsistent") & " " & dbn
'Creating the tables
Try con.Exec("BEGIN TRANSACTION;\n" & sql & "\nROLLBACK;")
If Not Error Then
con.Exec(sql)
' Print Replace(Error.Text, "\n", " ")
Endif
con.Close
con.Open
Endif
Else
' Print ("The database not exists") & " " & dbn
con.Databases.Add(dbn)
con.Close
con.Name = dbn
con.Open
'' Creating the database and tables
Try con.Exec("BEGIN TRANSACTION;\n" & sql & "\nROLLBACK;")
If Not Error Then
con.Exec(sql)
' Print Replace(Error.Text, "\n", " ")
Endif
con.Close
con.Open
Endif
Endif