Home » U++ Library support » U++ SQL » SQLITE3: Bind parameter by name
Re: SQLITE3: Bind parameter by name [message #26654 is a reply to message #26650] |
Tue, 18 May 2010 09:26   |
 |
mirek
Messages: 14265 Registered: November 2005
|
Ultimate Member |
|
|
tojocky wrote on Tue, 18 May 2010 01:22 |
luzr wrote on Mon, 17 May 2010 15:48 |
tojocky wrote on Wed, 12 May 2010 09:55 | Hello all,
How about to implement in SQLITE bind parameter by name? not only by index.
example of sqlite text:
"SELECT * from sqlite_master where type=table and name =:table_name"
in SQL class need to add meber:
Sql::SetParamName(String p_name, int p_index);
or add direct:
Sql::SetParam(int i, const Value& val, String p_name)
or
Sql::SetParam(String p_name, const Value& val) // auto increment parameter index
by using:
const char *sqlite3_bind_parameter_name(sqlite3_stmt*, int);
Can I add this functionality and propose for adding in library?
Any opinion are welcome!
Best regards, Ion Lupascu (tojocky)
|
As SqlExp seems to be dominant choice for doing SQL, I see little benefit here. Also, not every DB engine supports this and you would require a common interface.
I am strongly opposed to this.
Mirek
|
I use classic version of Sql because: in a function I can construct the sql text, but in other I can pass the parameters.
|
Well, I see the point.
Anyway, for constructing SQL, we have designed SqlExp 
BTW, cannot you just pass parameters to the function where you construct the SQL? In the past 10 years, that worked quite well for me (using SqlExp) 
Quote: |
Parameters support SQLITE, PostgreSQL, Oracle. Not sure about MySQL.
|
MySQL does not support it.
http://dev.mysql.com/doc/refman/5.0/en/mysql-stmt-prepare.ht ml
I also believe that PGSQL does not support it too.
BTW, with litte effort, you can add this feature "externally", using only parameter positions.
All you need to do is parse the SQL command, replace your named parameter placeholders with "?" and create the Index of names in the process, then simply translate parameter name to position... Much simpler than patching all SQL clients...
Mirek
|
|
|
Goto Forum:
Current Time: Mon Jul 07 09:47:02 CEST 2025
Total time taken to generate the page: 0.04682 seconds
|