Yea, you can always use db.driver()->escapeIdentifier(x,
QSqlDriver::TableName) if you want to sleep a little better anyway.

Elvis


Den tis 16 mars 2021 kl 21:52 skrev Jérôme Godbout <godbo...@amotus.ca>:
>
> Thanks, that was the problems, this is annoying, but I do create the query 
> prepare with a String with arg (I known this is bad, but the tablename is 
> provided by inner code only, this is not user inputs of any sort).
>
> On Mar 16, 2021, at 4:23 PM, Elvis Stansvik <elvst...@gmail.com> wrote:
>
> Den tis 16 mars 2021 kl 21:21 skrev Elvis Stansvik <elvst...@gmail.com>:
>
>
> Den tis 16 mars 2021 kl 20:19 skrev Jérôme Godbout <godbo...@amotus.ca>:
>
>
> Hi,
>
> I’m trying to use the Sql with Sqlite with Qt. The database seem to be 
> working just fine, but I run into troubles with the bind value. The named 
> bind doesn’t seem to work (Qt 5.15.2, Mac OS):
>
> m_sql->m_create_table(m_database);
>
> m_sql->m_create_table.prepare(R"raw(CREATE TABLE IF NOT EXISTS :table name 
> (idkey TEXT PRIMARY KEY, data TEXT) WITHOUT ROWID)raw”);
>
>
> You can't use a bound parameter value for the table name. This would
> be the case even if you used the SQLite C library. I imagine this is
> the case in other database engines as well.
>
>
> Some good answers here:
> https://stackoverflow.com/questions/11312737/can-i-parameterize-the-table-name-in-a-prepared-statement
>
> Elvis
>
>
> Elvis
>
>
>
> Note: I did try to add the ending ; it make no difference. Is it required? I 
> do not see it in any example.
>
>
> The prepare return false for some reason, I did try with quotes this solve 
> the prepare but I thing the escaping should be done automatically?! Is the 
> value escape character automatically for named and positional args? What is 
> wrong with this query, the query work just fine into sqlite3.
>
> CREATE TABLE IF NOT EXISTS ':tablename’ (idkey TEXT PRIMARY KEY, data TEXT) 
> WITHOUT ROWID;
>
>
> It doesn’t complain, but create a table name :table name instead! The replace 
> doesn’t occur into the quote ‘ '
>
> This query work just fine into sqlite command line.
>
> CREATE TABLE IF NOT EXISTS toto (idkey TEXT PRIMARY KEY, data TEXT) WITHOUT 
> ROWID;
>
>
> What is wrong with this?! This seem to be just like the examples, is SQLite 
> any special in that regards (I known only a single statement is required for 
> sqlite).
>
> Thanks,
>
> _______________________________________________
> Interest mailing list
> Interest@qt-project.org
> https://lists.qt-project.org/listinfo/interest
>
>
> Jerome Godbout
> Software/Firmare Lead Amotus
>
> C: (581) 777-0050
> O: (418) 800-1073 ext.: 114
> godbo...@amotus.ca
>
>
>
> dimonoff.com   |    amotus.ca
>
> We have moved!
> 1015 Avenue Wilfrid-Pelletier, Québec, QC G1W 0C4, 4e étage
>
_______________________________________________
Interest mailing list
Interest@qt-project.org
https://lists.qt-project.org/listinfo/interest

Reply via email to