21,489
社区成员
发帖
与我相关
我的任务
分享
//写进数据库
QFile file("E:\\test\\1.jpg");
if (!file.open(QIODevice::ReadWrite))
{
return -1;
}
QByteArray bytes = file.readAll();
QVariant variant(bytes);
QSqlQuery query(db);
query.prepare("insert into blob_test2(id,data) values(:id,:data)");
query.bindValue(":id", 4);
query.bindValue(":data", variant,QSql::Binary);
if (!query.exec())
{
strError = query.lastError().driverText().toLatin1();
error = db.lastError();
strError = error.text();
}
static QSqlDatabase db = QSqlDatabase::addDatabase("QSQLITE");
db.setDatabaseName("Q:/test.db");
qDebug() << db.open();
QSqlQuery q(db);
qDebug() << q.exec("CREATE TABLE IF NOT EXISTS AAA (name TEXT, data BLOB);");
q.clear();
QFile f("Q:/qt580/qtbase/bin/Qt5QuickDXd.dll");
f.open(QIODevice::ReadOnly);
q.prepare("INSERT INTO AAA VALUES(?, ?);");
q.addBindValue("sadfasdfasdf");
q.addBindValue(f.readAll());
qDebug() << q.exec();
q.clear();
db.close();
使用了bindValue,由于我需要保存的文件较大,有几百M,执行SQL的时候会崩溃。
另外,我想问问,Postgresql的OID怎么进行保存?[/quote]