Hola Amigos.
Desde que adquiri la licencia del Xojo he atormentado el foro con varias consultas, era de esperarse ya que venia de Visual Basic 6 y estaba tan acostumbrado a el que tenia la cabeza un poco cerrada.
En fin estuve provando algunas cosas y les comparto rastros de codigo que funcionan 100 %
Obvio es codigo para Bases de datos SQLITE.
Se escucha cualquier critica la cual permita mejorarlo.
Muchas gracias a todos
Camino es una variable (camino=c:\Xojo_clientes\clientes.s3db)
==================================================================
Proceso para agregar en una tabla de una base de datos
Dim dbFile As FolderItem
Dim db As New SQLiteDatabase
dbFile = GetFolderItem(camino)
db.DatabaseFile = dbFile
If db.Connect Then
Dim row As New DatabaseRecord
row.Column(“dni”) = trim(textfield1.text)
row.Column(“apellido”) = trim(textfield2.text)
row.Column(“nombre”) = trim(textfield3.text)
row.Column(“cuit”) = trim(textfield5.text)
row.Column(“direccion”) = trim(textfield4.text)
row.Column(“telefono”) = trim(textfield6.text)
row.Column(“ciudad”) = trim(textfield7.text)
row.doublecolumn(“saldo”) = 0
DB.InsertRecord(“datos”, row)
If DB.Error Then
MsgBox("DB Error: " + DB.ErrorMessage )
End If
Else
MsgBox("La base de datos no puede ser abierta. Error: " + db.ErrorMessage)
End If
db.close
==================================================================
Proceso para buscar un dato por un campo en especial y editar
el registro
Dim dbFile As FolderItem
Dim db As New SQLiteDatabase
dbFile = GetFolderItem(camino)
db.DatabaseFile = dbFile
If db.Connect Then
Dim rs As RecordSet
rs = db.SQLSelect(“SELECT * FROM datos where dni=’” + trim(textfield1.text) +"’")
If rs <> Nil Then
textfield2.text=rs.Field(“apellido”).StringValue
textfield3.text=rs.Field(“nombre”).StringValue
textfield4.text=rs.Field(“direccion”).StringValue
textfield6.text=rs.Field(“telefono”).StringValue
textfield5.text=rs.Field(“cuit”).StringValue
textfield7.text=rs.Field(“ciudad”).StringValue
label10.text=rs.field(“saldo”).stringvalue
If rs.BOF Then MsgBox(“BOF!”)
db.close
exit sub
End If
Else
MsgBox("La base de datos no puede ser abierta. Error: " + db.ErrorMessage)
End If
db.close
=================================================================
Proceso para borrar un dato buscando al registro por un campo en
Especial
Dim dbFile As FolderItem
Dim db As New SQLiteDatabase
dbFile = GetFolderItem(camino)
db.DatabaseFile = dbFile
If db.Connect Then
Dim rs As RecordSet
rs = db.SQLSelect("SELECT * FROM datos where dni='" + trim(textfield1.text) +"'")
If rs <> Nil Then
rs.deleterecord
If rs.BOF Then MsgBox("BOF!")
rs.Update
If Not DB.Error Then
DB.Commit
Else
MsgBox("Error: " +DB.ErrorMessage)
End If
call limpiar
db.close
exit sub
End If
Else
MsgBox("La base de datos no puede ser abierta. Error: " + db.ErrorMessage)
End If
db.close
==================================================================
Modificar y guardar los datos editados
Dim dbFile As FolderItem
Dim db As New SQLiteDatabase
dbFile = GetFolderItem(camino)
db.DatabaseFile = dbFile
If db.Connect Then
Dim rs As RecordSet
rs = db.SQLSelect("SELECT * FROM datos where dni='" + trim(textfield1.text) +"'")
If rs <> Nil Then
rs.Edit
rs.Field("apellido").StringValue=textfield2.text
rs.Field("nombre").StringValue=textfield3.text
rs.Field("direccion").StringValue=textfield4.text
rs.Field("telefono").StringValue=textfield5.text
rs.Field("cuit").StringValue=textfield6.text
rs.Field("ciudad").StringValue=textfield7.text
rs.field("saldo").DoubleValue=val(label10.text)
If rs.BOF Then MsgBox("BOF!")
rs.Update
If Not DB.Error Then
DB.Commit
Else
MsgBox("Error: " +DB.ErrorMessage)
End If
call limpiar
db.close
exit sub
End If
Else
MsgBox("La base de datos no puede ser abierta. Error: " + db.ErrorMessage)
End If
db.close