2012-03-17 12 views
2
#include <QtGui> 
#include <QtSql> 
#include <QDebug> 
int main(int argc, char* argv[]) 
{ 
    QApplication app(argc, argv); 

    QSqlDatabase db = QSqlDatabase::addDatabase("QSQLITE"); 
    db.setHostName("test"); 
    db.setDatabaseName("firma"); 
    db.setUserName("user"); 
    db.setPassword("pass"); 

    if (!db.open()) { 
     qDebug() << db.lastError(); 
     return 1; 
    } 

    QSqlQuery query; 
    bool ret = query.exec("CREATE TABLE employees(id int primary key auto_increment, lastname varchar(255), firstname varchar(255), department int) "); 
    qDebug() << ret << endl; 
} 

毎回私がを取得すると、が得られます。私はバグを得ることができません。QtSqlはクエリを実行できません

答えて

2

SQLiteはautoincrementが好きで、integerカラムにのみ適用したいと考えています。auto_incrementはSQLiteの構文エラーです。あなたのSQLは次のようになります:

CREATE TABLE employees(id integer primary key autoincrement, ... 
+0

** CHARSET **と** auto_incremnt **のカットで管理しました。 Btw、** autoincrement **も動作しません。 – Dewsworld

+1

http://sqlite.org/autoinc.htmlを参照してください。 – Bill

+0

あなたの 'CREATE TABLE employees(ID int主キーauto_increment、lastname varchar(255)、firstname varchar(255)、department int)'は '上記のように変更すると、正常に動作します。私は 'int'を' integer'に変更しました。 –

関連する問題