Main.SQLMem.ExecNonQuery2("insert into MEM_CSH_BNK_IN_OT values(?,?,?,?,?,?,?)", Array As Object(RowId,Main.PUB_ID_PYMNT_TYP,IdAcN,txtCB.Text,Amnt,DscP))
It runs OK in B4A 10 without any errors even though the array size is different with the number of parameters.
The MEM_CSH_BNK_IN_OT is a sqlite in memory table.
The OP is telling you that there is no error. That is what is strange. She should be getting an error. Maybe the OP needs to make his post clearer and post some more code and maybe his table structure, etc. He is not giving enough information. Please read his first post again.
the miscount is supposed to have thrown an error. it didn't. that's why he says it strange. he knows there is a difference between the number of placeholders and the actual number of parameters passed. sqlite's documentation says it throws an error, but we don't know exactly how our sql.jar handles things.
in the interest of full disclosure, these queries behave the same way on b4j and b4a:
when the parameters passed are fewer than the number of placeholders, no error. (*see below)
when the parameters passed are greater in number than the number of placeholder, crash.
*in the case of fewer parameters, and where the missing parameters was of type int, a 0 was conveniently filled in. so, in my tests, the missing parm was not set to null.
That is the way SQLite works. Please see this link where it states under PARAMETERS: Parameters that are not assigned values using sqlite3_bind() are treated as NULL.
It has nothing to do with B4A version 10 or version 9.9