Alain Bertrand wrote:
Joe Wilson a écrit :
--- Alain Bertrand <[EMAIL PROTECTED]> wrote:
> --- Alain Bertrand <[EMAIL PROTECTED]> wrote:
In a Qt4 application, I have the following bit of code :
QString s;
bool b;
QSqlQuery q;
QSqlError err;
s= "CREATE TABLE ttd_bdata (sheetId integer primary key,";
s+="creation_date date, modif_date date,";
s+="speciesId integer,USDA_zone integer,";
s+="generalities text,propagation text,care text,";
s+="esthetics text, phyto text,miscellaneous text)";
//s="SELECT * FROM ttd_species WHERE speciesId=4";
qWarning( s.toAscii() );
b=q.exec( s );
Executing the query fails with the following information
SQL logic error or missing database
Unable to fetch row
Err number 1.
If the query is remplaced by the commented one, I got no error. If I
open
my database file with sqliteman, the query is executed without any
problem. Some ideas ?
I don't understand your description, but here are some random thoughts
that might help you:
Thanks for your answer.
CREATE statements do not return any rows.
Yes, so why do I get this message from the qt driver ?
Your select table did not match the create statement table. Instead:
Use "SELECT * FROM ttd_bdata WHERE speciesId=4"
This is not an error. The table is not created so the select on a table
which I know does exists is here to prove that I don't have a "missing
database" error.
To add to obscurity, if I run the same function in a different context, it
is ok but very simple queries (like UPDATE ttd_version SET minor='1' WHERE
Id=1) fails both in my app and in sqliteman.
I would now think of a QT/sqlite driver bug. Does anybody heard of some
problem with the sqlite driver in the qt4 libs of Ubuntu feisty ?
Don't use += in this case
ok.
AlainQT4
Use the sqlite3 command line tool to look at what has been created.
-----------------------------------------------------------------------------
To unsubscribe, send email to [EMAIL PROTECTED]
-----------------------------------------------------------------------------