发布网友 发布时间:2022-04-30 00:57
共3个回答
懂视网 时间:2022-04-30 05:18
, "memory"); db.setDatabaseName(":memory:"); if (!db.open()) { LOG_ALL_ERROR(QStringLiteral("failed open sqlite.")); return bret; }QString strdbpath("");
strdbpath = QCoreApplication::applicationDirPath();
strdbpath += "/db";
QDir dir("");
dir.mkpath(strdbpath);
strdbpath += "/mysqlite.db";
QSqlDatabase dbset = QSqlDatabase::addDatabase("QSQLITE", "file");
dbset.setDatabaseName(strdbpath);
if (!dbset.open()) {
LOG_ALL_ERROR(QStringLiteral("failed open mysqlite.db"));
return bret;
}
QSqlQuery query(QSqlDatabase::database("memory", true));
bret = query.exec("create table backlist(no varchar(100), "
"name varchar(200),color varchar(100), "
"size varchar(100), retail double, "
"discount double, unit double, "
"attrid varchar(33), salenum int, "
"backmax int, backnum int, totalprice double, "
"serial varchar(100), orderid varchar(33), "
"date varchar(100))");
QSqlQuery setquery(QSqlDatabase::database("file", true));
bret = setquery.exec("create table printset(btitle INTEGER,bshop INTEGER,bbarcode INTEGER, "
"bsellid INTEGER,bcashdesk INTEGER,bcashier INTEGER, "
"bdate INTEGER,bmemid INTEGER,bscore INTEGER, "
"bpayable INTEGER,bprivilege INTEGER,btotal INTEGER, "
"bgoodname INTEGER,bgoodcount INTEGER,bunit INTEGER, "
"bsum INTEGER,bdiscount INTEGER,bprice INTEGER, "
"bcash INTEGER,bbank INTEGER,bchange INTEGER, "
"btel INTEGER,bend INTEGER)");
1.http://blog.csdn.net/abeldeng/article/details/24767245这篇文章讲述了创建没说使用
2.qt助手
版权声明:本文为博主原创文章,未经博主允许不得转载。
实现用qt打开多个数据库
标签:qt 多个数据库
热心网友 时间:2022-04-30 02:26
QT 自带的数据库是很好用的。热心网友 时间:2022-04-30 03:44
可以使用QT自带的数据库完成操作,以下是参考代码:
QSqlDatabase db = QSqlDatabase::addDatabase("QSQLITE"); //添加数据库
db.setDatabaseName("note.db"); //创建一个note.db的文件存储数据
db.open(); //开启数据库
query = QSqlQuery(db); //获得访问数据库的query
query.exec(XXX); //执行指令(XXX为SQL指令)
db.close(); //关闭数据库
一般而言会将db变量作为全局变量或者数据成员,当需要访问的时候就获取一个query就可以了。
要实现所提到的功能,要好好看看QString、QStringList,这两玩意主要是临时存放数据、分割数据等作用,另外,要看QFile、QDir、QFileInfo、QTextStream,这四个主要用来读取文本数据。看看QVector或者QList等来存放读出来的数据。
另外,要实现这玩意,SQL的语句不要求精通,但是基本的Create、Insert、Select、Delete等操作要准确无误。否则出错了QT是看不出来的。QT不会检测SQL的准确性的。