B4J Tutorial MiniORM example working with custom type

This example is created from MiniORM project template but product table is removed.
Category table changed to Cassa, id column (Int) changed to idCassa (String). Autoincrement is disabled.
Support CRUD using SQLite.

Cassa is a custom type
B4X:
Type Cassa (IdCassa As String, Name As String)

B4X:
Private Sub clvRecord_ItemClick (Index As Int, Value As Object)
    Dim selectedCassa As Cassa = Value
    Log($"Casa Id: ${selectedCassa.IdCassa}${CRLF}Casa Name: ${selectedCassa.Name}"$)
End Sub

This is my answer to question here
 

Attachments

  • Cassa.zip
    24 KB · Views: 8
Last edited:

aeric

Expert
Licensed User
Longtime User
MiniORM works with List (database table rows) and Maps (database table columns/fields)

LoadCassa
B4X:
DB.Table = "tCassa"
DB.Query
Dim Items As List = DB.Results
For Each Item As Map In Items
    Dim Cassa As Cassa = CreateCassa(Item.Get("idCassa"), Item.Get("Name"))
    Log(Cassa)
Next

Insert New Cassa
B4X:
DB.AutoIncrement = False
DB.Table = "tCassa"
DB.Columns = Array("idCassa", "Name")
DB.Parameters = Array(Cassa.idCassa, Cassa.Name)
DB.Save

Update Existing Cassa
B4X:
DB.Table = "tCassa"
DB.Columns = Array("Name")
DB.Parameters = Array(Cassa.Name)
DB.WhereParam("IdCassa = ?", Cassa.IdCassa)
DB.Save

Delete Cassa by PK
B4X:
DB.Table = "tCassa"
DB.WhereParam("IdCassa = ?", Cassa.IdCassa)
DB.Delete

Query a row
B4X:
DB.Table = "tCassa"
DB.Columns = Array("Name", "created_date", "modified_date") ' list of columns
DB.Find2("idCassa = ?", Cassa.IdCassa)
If DB.Found Then
    Log(DB.First) ' return the first row as Map
End If
 
Last edited:
Top