QSqlQuery вставляет QByteArray в POstgresQL

Я пытаюсь сделать запрос вставки в dbpostgresql. У меня проблема, когда я вставляю поле QByteArray ( "ENTI" и "PARTOKEN"), ошибка, которую я вижу в файловом логгере:

"* INSERT ** ОШИБКА: sintassi di ввод недействительный для целого числа il": "\ x2a2a30332e3038 *.........."

Вы можете мне помочь? Спасибо большое...

    QSqlQuery qrypg(db_postgres);
    QSqlQuery qrypg2(db_postgres);
    QString query;
    QString query_insert;

    for (int i = 0; i < qty; i++)
    {
        query_insert = "INSERT INTO PEZZI VALUES(";
        for (int i = 0; i < n_fields; i++)
        {
            if (i < n_fields - 1)
                query_insert += "?, ";
            else
                query_insert += "?) ";
        }

        qrypg.prepare(query_insert);

        long idPiece = -1;
        for (int i = 0; i < n_fields; i++)
        {
            QString field_name;
            QVariant val;
            QByteArray data;
            ds >> field_name;
            if (field_name == "ENTI" || field_name == "PAR_TOKEN")
            {
                ds >> data;
                qrypg.addBindValue(data);
            }
            else
            {
                ds >> val;
                qrypg.addBindValue(val);
            }

        }
        if (!qrypg.exec())
            logger.add(QString("loadPlaneFile():INSERT"), qrypg.lastError().text(), QString(""));

0 ответов

Другие вопросы по тегам