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: Copy
Type Cassa (IdCassa As String, Name As String)

B4X: Copy
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

Last edited:
MiniORM works with List (database table rows) and Maps (database table columns/fields)

LoadCassa
B4X: Copy
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: Copy
DB.AutoIncrement = False
DB.Table = "tCassa"
DB.Columns = Array("idCassa", "Name")
DB.Parameters = Array(Cassa.idCassa, Cassa.Name)
DB.Save

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

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

Query a row
B4X: Copy
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:
Back
Top