Buenos dias compañeros, tras terminar mi aplicacion que no es mas que algo parecido a una agenda con fotos, quisiera practicar con bases de datos SQL. Mi idea es solo leer de la base de datos, donde habria archivos txt y fotos en JPG. Me echais una mano para empezar? con que creo la base de datos? y luego se agradeceria un pequeño ejemplo de como leer desde ella.
Muchas gracias por vuestra ayuda.
Hola Psdos,
En primer lugar tienes que tener claro , que es lo que quieres "guardar.." en tu base de datos; las bases de datos normalmente NO se utilizan para guardar archivos.txt y fotos .jpg; Por mi experiencia con bases de datos, te aconsejo que "guardes.." en un campo de la tabla que se podria llamar "archivos", el nombre del archivo.txt , y en otro campo la ruta en donde lo tengas ; lo mismo te digo para las fotos.
Si quieres empezar con una bd sencilla , aunque potente, y sobre todo si la quieres para usarla en android, te aconsejo Sqlite; la manera más sencilla de empezar a usarla, es mediante un complemento del navegador Mozilla firefox , sólo tienes que instalarla y desde el menu del firefox, Desarrolador web, Sqlite Manager ya entras en su ide. A partir de aqui, creas la bd, con sus tablas, etc...
este es un código muuy básico para conectarte a una bd que tengas en el terminal.
Se conecta a una bd que se llama "Carta.db", y carga en un listview los registros que trae la sql. Si te fijas, tambien cargo en un bitmap las imagenes que traen los registros que busco; y sólo cargo el nombre del archivo, que es lo que me interesa.
Está sin adecuar y poner "bonito", pero estoy empezando con el basic4android, de momento voy avanzando poco a poco, aprendiendo a usar los controles, uy perdon , las "views"; yo vengo del vbasic 6 y me cuesta adaptarme...
'Activity module
Sub Process_Globals
'These global variables will be declared once when the application starts.
'These variables can be accessed from all modules.
' PARAMETROS DE LA BASE DE DATOS
Dim SQL1 As SQL
Dim ruta_base As String : ruta_base=File.DirRootExternal & "/Pruebas"
Dim ruta_imagen As String : ruta_imagen=File.DirRootExternal & "/Pruebas/Imagenes/"
Dim DBFileName As String : DBFileName = "/Carta.db"
' Dim DBFileDir As String : DBFileDir = File.DirInternal
Dim DBFileDir As String : DBFileDir = File.DirRootExternal & "/Pruebas"
' Dim DBTableName As String : DBTableName = "Articulos"
Dim crPlatos As Cursor
End Sub
Sub Globals
'These global variables will be redeclared each time the activity is created.
'These variables can only be accessed from this module.
Dim listPlatos As ListView
End Sub
Sub Activity_Create(FirstTime As Boolean)
listPlatos.Initialize("ListView1")
Activity.LoadLayout("Main")
' INICIALIZA LA BASE DE DATOS
If FirstTime Then
SQL1.Initialize(DBFileDir, DBFileName, True)
End If
Activity.AddView(listPlatos, 0, 0, 100%x, 100%y) ' ocupa toda la pantalla 100*100
'listPlatos.SingleLineLayout.ItemHeight=100dip ' altura de cada linea
'listPlatos.SingleLineLayout.Label.TextSize=20
'listPlatos.SingleLineLayout.Label.TextColor = Colors.Blue ' color del font
'listPlatos.SingleLineLayout.Label.Gravity = Gravity.CENTER ' se alinea al centro
listPlatos.TwoLinesAndBitmap.ItemHeight=100dip
listPlatos.TwoLinesAndBitmap.Label.TextSize=20
listPlatos.TwoLinesAndBitmap.Label.TextColor=Colors.Blue
listPlatos.TwoLinesAndBitmap.Label.Gravity=Gravity.CENTER
lleno_list
End Sub
Sub lleno_list
Dim Bitmap1 As Bitmap
crPlatos.IsInitialized
Dim i As Int
Dim cadena As String
crPlatos = SQL1.ExecQuery("SELECT * FROM Familias where Activa=1 ")
For i = 0 To crPlatos.RowCount - 1
crPlatos.Position = i
' listPlatos.AddSingleLine(crPlatos.GetString("Articulo")& "->" & crPlatos.GetString("Pventa1"))
Bitmap1.Initialize(ruta_imagen,crPlatos.GetString("Ruta_foto"))
cadena=crPlatos.GetString("Familia")
listPlatos.AddTwoLinesAndBitmap(cadena,"",Bitmap1)
Next
End Sub
Si necesitas alguna aclaración , aquí estamos, para ayudanos..
Saludos