qt sqlite编程问题
代码如下:
databasemydb = QSqlDatabase::addDatabase("QSQLITE");//databasemydb在相应的.h中已经定义过。
databasemydb.setDatabaseName("mydb");//mydb处于当前文件夹下
if (!databasemydb.open())
{
qDebug() << "open failed!" << endl;
return;
}
qDebug() << "open successed!" << endl;
QSqlQuery query;
query.exec("insert into tt values('inin', '1234', '34343@11')");//tt是mydb的一个表
databasemydb.close();
问题:
无论我怎么改setDatabaseName()里的数据库名称,总能打印出open successed!
如:将mydb换成mydb12,mydb12当前文件夹没有,也能打印出open successed!
但又插入不了上面那条记录。
[解决办法]
这个你理解错了,setDatabaseName()参数是你数据库的路径名称,如果指定的路径没有该数据库文件,QT会自动给你创建一个数据库文件,你可以写个测试代码测试下setDatabaseName(..\data\data.db)
[解决办法]
看来楼主是在win下调试的,看看你的那个调试文件夹,就会发现创建的那些数据库文件,如果用绝对路径会好点