在我们实际开发过程中,需要保存特定类型的数据,并且需要对其进行回放,这就涉及到了以何种方式来保存数据。
这里分享一种将结构体struct存入sqlite数据库的方法,供大家参考。
QSqlQuery query;
query.exec("create table structTest(struct BLOB PRIMARY KEY);");
struct Test{
int i;
int j;
};
Test t;
t.i = 10;
t.j = 20;
QByteArray ba;
ba.resize(sizeof(Test)); //设置容量
memcpy(ba.data(), &t,sizeof(Test));
QSqlQuery qry_insert;
qry_insert.prepare("insert into structTest values(?)");
qry_insert.addBindValue(QVariant(ba));
qry_insert.exec();
QSqlQuery qry_get("select * from structTest;");
while(qry_get.next())
{
QByteArray value = qry_get.value(0).toByteArray();
Test *t = (Test *)value.data();
qDebug()<<"get success"<<t->i<<t->j;
}