QSqlite数据库程序问题
本帖最后由 TQ-lkp 于 2012-7-31 09:36 编辑写了个QSplite数据库程序:
#include <QApplication>
#include <QSqlDatabase>
#include <QSqlQuery>
#include <QSqlDriver>
#include <QSqlRecord>
#include <QSqlField>
#include <QDebug>
#include <QVariant>
#include <QStringList>
#include <QMessageBox>
static bool createConnection()
{
QSqlDatabase db = QSqlDatabase::addDatabase("QSQLITE","c1");
db.setDatabaseName("my1.db");
if(!db.open())
{
QMessageBox::critical(0, "can't open database", "unable to connect", QMessageBox::Cancel);
return false;
}
QSqlQuery query(db);
qDebug<<"create table :";
query.exec("create table student (id int primary key, "
"name varchar(20))");
query.exec("insert into student values(0, 'LiMing')");
query.exec("insert into student values(1, 'LiuTao')");
query.exec("insert into student values(2, 'WangHong')");
return 1;
}
int main(int argc , char *argv[])
{
int numRows;
QApplication a(argc,argv);
qDebug()<<"DRIVER:";
QStringList drivers = QSqlDatabase::drivers();
foreach(QString driver ,drivers)
qDebug()<<driver;
if(!createConnection())return 1;
QSqlDatabase db = QSqlDatabase::database("c1");
QSqlQuery query(db);
query.exec("select * from student");
while(query.next())
{
qDebug() << query.value(0).toInt() << query.value(1).toString();
}
}
执行后打印
DRIVER:
"QSQLITE"
create table
无法读取表内容,不知为何? 你缺少了打开数据库的代码,参考我们提供的源码 请问下 你们提供的源码 在哪里呢? 谢谢
页:
[1]