= Qt: обмен бинарными данными с БД :title-separator: {sp}| :category: Программирование :tags: программирование, qt, postgresql, бд Таблица, с которой осуществляется обмен: [source,sql] ---- CREATE TABLE example ( id INTEGER, bin_data BYTEA ); ---- Запись данных: [source,cpp] ---- const char cart[] = {0x04, 0x43, 0x00, 0x9A}; QByteArray binDataArray(QByteArray::fromRawData(cart, 4)); QSqlQuery query1; query1.prepare(QString("INSERT INTO example (id, bin_data) VALUES(:id, :bin_data)"); query1.bindValue(":id", 10, QSql::In); query1.bindValue(":bin_data", binDataArray, QSql::In | QSql::Binary); query1.exec(); QSqlQuery query2; query2.exec(QString("INSERT INTO files VALUES(%1, %2);") .arg(18) .arg(db.driver()->formatValue(dataField))); ---- Чтение данных: [source,cpp] ---- QSqlQuery query; query.exec("SELECT id, bin_data FROM example LIMIT 1"); query.next(); QByteArray binDataArray = query.value(query.record().indexOf("bin_data")).toByteArray(); ----