Use SQL Binding
Valentina database allows you to specify placeholders at any place where SQL grammar allows EXPR.
EXAMPLE
dim arr = { "Peter", "Jonson" }; db.SqlExecute( "INSERT INTO tblPerson(fldFirstName, fldFirstLastName) VALUES(:1, :2)", arr );
dim arr = { "Peter" }; db.SqlSelect( "SELECT * FROM tblPerson WHERE fldFirstName = :1", arr );
This is a very recommended style of coding of SQL commands to a any database, including Valentina, on many reasons. Especially if this SQL command is executed in some hot loop.
LESS CPU and RAM to produce SQL string
Really, otherwise you should use string operations to produce string, which includes values you need.
LESS CPU and RAM to parse SQL cstring
Because a string with placeholders is shorter.
Query Pool Plays
Before parse a SQL string, Valentina checks if this string exists in the query pool. Compare happens byte to byte. So if you use SQL strings with placeholders you get the same string, but if you insert values into string then each next string will differ and Query Pool advantage will not be used.