C++ &引用;无查询无法获取行";在Qt应用程序中

C++ &引用;无查询无法获取行";在Qt应用程序中,c++,qt,sqlite,qsqlquery,C++,Qt,Sqlite,Qsqlquery,我正在使用Qt 5.9中的sqlite数据库创建一个表,我遇到以下错误: 没有查询无法获取行 两件事: 在QSqlQuery中可以使用DDL语句。但是不需要在的“创建表信用(用户名文本主键,密码文本);”的末尾添加分号(;)” 其次,当您使用查询字符串作为参数创建QSqlQuery对象时,它会立即执行。无需调用query.exec() 您可以用isValid()方法替换exec(),以检查条件中查询的有效性 希望这有帮助 …在createquery?@chowlett no中的username

我正在使用Qt 5.9中的
sqlite
数据库创建一个表,我遇到以下错误:

没有查询无法获取行

两件事:

  • 在QSqlQuery中可以使用DDL语句。但是不需要在
    的“创建表信用(用户名文本主键,密码文本);”的末尾添加分号(;)”

  • 其次,当您使用查询字符串作为参数创建QSqlQuery对象时,它会立即执行。无需调用
    query.exec()

  • 您可以用
    isValid()
    方法替换
    exec()
    ,以检查条件中查询的有效性


    希望这有帮助

    …在
    create
    query?@chowlett no中的
    username text
    后面似乎缺少一个逗号。这是有效的语法。更可能的是,query运行的是查询,而不是ddl语句。错误显示“我在这里看不到任何查询”。大多数包装器都有一个执行非查询方法too@pm100-一般来说,SQL可能是这样,但sqlite似乎需要逗号-请参见顶部的结构图,这是qt create table的一个示例
    QSqlQuery query("create table credit(username text primary key, password text);");
    if(!query.exec())
    {
        ui->result->append("dataentry unsuccessful...\n"+query.lastError().text()+"\n");
    }
    else
    {
        ui->result->append("looks good...");
    }