Sub Class_Globals
Private Root As B4XView
Private DB As SQL
End Sub
Public Sub Initialize
' B4XPages.GetManager.LogEvents = True
End Sub
'This event will be called once, before the page becomes visible.
Private Sub B4XPage_Created (Root1 As B4XView)
Root = Root1
Root.LoadLayout("MainPage")
RunTest
End Sub
Sub RunTest
DB.InitializeSQLite(File.DirApp, "test.db", True)
Dim qry As String
qry = $"CREATE TABLE "gbe" ("id" INTEGER, "QA" TEXT, "QB" TEXT, "QC" TEXT, PRIMARY KEY("id" AUTOINCREMENT))"$
DB.AddNonQueryToBatch(qry, Null)
qry = $"INSERT INTO gbe (QA, QB, QC) SELECT ?, ?, ?"$
DB.AddNonQueryToBatch(qry, Array As String("A1", "BB1", "CCC1"))
DB.AddNonQueryToBatch(qry, Array As String("A2", "BB2", "CCC2"))
Dim SenderFilter As Object = DB.ExecNonQueryBatch("SQL")
Wait For (SenderFilter) SQL_NonQueryComplete (Success As Boolean)
Log("Create: " & Success)
qry = "SELECT * FROM gbe"
Dim res As ResultSet = DB.ExecQuery(qry)
PrintTable(res)
qry = $"ALTER TABLE "gbe" DROP COLUMN "QB""$
DB.AddNonQueryToBatch(qry, Null)
Dim SenderFilter As Object = DB.ExecNonQueryBatch("SQL")
Wait For (SenderFilter) SQL_NonQueryComplete (Success As Boolean)
Log("Alter: " & Success)
qry = "SELECT * FROM gbe"
Dim res As ResultSet = DB.ExecQuery(qry)
PrintTable(res)
End Sub
Sub PrintTable (Res As ResultSet)
Dim sb As StringBuilder
sb.Initialize
For i = 0 To Res.ColumnCount - 1
sb.Append(Res.GetColumnName(i)).Append(" | ")
Next
Log(sb.ToString)
Do While Res.NextRow
Dim sb As StringBuilder
sb.Initialize
For i = 0 To Res.ColumnCount - 1
sb.Append(Res.GetString2(i)).Append(" | ")
Next
Log(sb.ToString)
Loop
Res.Close
End Sub