回复: release和添加了各种dll在其他电脑运行不了
#11 [pangsht 04-07 17:14]
整理一下,还是贴代码吧,呵呵~~
+++++++++++++database.h+++++++++++++++++
#ifndef DATABASE_H
#define DATABASE_H
#include
#include
#include
#include
#include
static bool createConnection()
{
QSqlDatabase db=QSqlDatabase::addDatabase("QSQLITE");
db.setDatabaseName("database.dat");
if(!db.open())
{
QMessageBox::warning(0,QObject::tr("Database Error"),db.lastError().text());
return false;
}
QSqlQuery query;
query.exec(QObject::tr("create table Test(id int primary key,content vchar)"));
query.exec(QObject::tr("insert into Test values(1,'测试测试测试测试测试测试')"));
return true;
}
#endif // DATABASE_H
++++++++++++++widget.h++++++++++++++++++
#ifndef WIDGET_H
#define WIDGET_H
#include
#include
#include
namespace Ui {
class Widget;
}
class Widget : public QWidget
{
Q_OBJECT
public:
explicit Widget(QWidget *parent = 0);
~Widget();
private:
Ui::Widget *ui;
QSqlTableModel *model;
QDataWidgetMapper *mapper;
};
#endif // WIDGET_H
+++++++++++widget.cpp+++++++++++++
#include "widget.h"
#include "ui_widget.h"
#include
#include
Widget::Widget(QWidget *parent) :
QWidget(parent),
ui(new Ui::Widget)
{
ui->setupUi(this);
model=new QSqlTableMod ..
#12 [pangsht 04-07 17:22]
不使用SQLITE,就可以发布……
#13 [dbzhang800 04-07 18:08]
if(!createConnection())
return 0;
呵呵,你这句代码有意思啊。什么不显示,直接退出,不正是你做的么?
题外:还是前面提的,你始终没讲到你有没有发布数据库插件,有没有正确发布?
#14 [pangsht 04-07 19:35]
啊??那应该怎么改?这句代码也是看一些demo里拿来的。。。意思不是链接不成功便退出吗?难道拿到别的电脑就真的链接不了数据库……?
我添加了QtSql4.dll和QtSqlite4.dll,不知还需要什么插件来发布,怎么才叫正确发布呢?
谢谢!
#15 [dbzhang800 04-07 19:52]
http://hi.baidu.com/cyclone/blog/item/d77a86182fb915b84bedbc57.html
http://doc.qt.nokia.com/4.7/deployment-windows.html