Important: Please read the Qt Code of Conduct -

QPSQL: Unable to create query, image bytea

  • I am trying trying to insert images into tables but I get this error:

    "INSERT INTO Registrations.Customer_Picutre (name, image) VALUES (?, ?)"
    QSqlError("42601", "QPSQL: Unable to create query", "ERROR: syntax error at or near "("\nLINE 1: EXECUTE ('asdf', '\xffd8ffe000104a4649460001010100600060000...\n ^\n(42601)")

    any idea in what's wrong in my code?

    query.exec("CREATE EXTENSION citext;");
    query.exec("CREATE SCHEMA Registrations;");
    query.exec("create table Registrations.Customer_Picture"
              "(colname SERIAL primary key, "
              "name  CITEXT, "
              "image  bytea)");
    QString folder = QCoreApplication::applicationDirPath() + "/images";
    QString img = folder + "/new.jpg";
    QFile* file = new QFile(img);
    QByteArray image = file->readAll();
    QString encoded = QString(image.toBase64());
    //insert picture
    query.prepare("INSERT INTO Registrations.Customer_Picutre (name, image) "
                  "VALUES (:name, :image)");
    query.bindValue(":name", ui->name_lineEdit_mainData->text());
    query.bindValue(":image", encoded, QSql::In | QSql::Binary);

  • Qt Champions 2017

    Your query syntax is wrong. Please check it. Many sql query syntax checkers in google. Copy paste ur query and check it before placing in code. You can also check ur query sql command prompt of ur da.

  • sorry the irror is INSERT INTO Registrations.Customer_Picutre which should be INSERT INTO Registrations.Customer_Picture

Log in to reply