我在main.cpp中打开了一个数据库
原来,我所有的程序都写到一个工程中时候,所有的子控件都可以直接访问数据库
现在,我觉得都写到一个工程中,最后编译出来的程序好大啊,所以将其中部分控件编译成lib了,可是访问不了数据库了
各位TX帮帮忙
main.pro代码:
TEMPLATE = app
TARGET = hztq
LIBS += -L lib -lsqlfunc
win32:RC_FILE = main.rc
CONFIG += qt warn_on release
CONFIG += console
# Input
HEADERS += mainwindow.h
FORMS += mainwindow.ui
SOURCES += main.cpp \
mainwindow.cpp
RESOURCES += main.qrc
QT += sql \
webkit \
network
main.cpp代码: QSqlDatabase db = QSqlDatabase::addDatabase("QODBC");
db.setDatabaseName(QString("DRIVER={SQL Server};SERVER=localhost;DATABASE=hztq;UID=user;PWD=123"));
if (!db.open())
{
QMessageBox::critical(NULL, "提示信息", db.lastError().text());
app.exit(1);
return 1;
}
sqlfunc.pro 代码:TEMPLATE = lib
TARGET = sqlfunc
QT += sql
# Input
HEADERS += sqlfunc.h
SOURCES += sqlfunc.cpp
我在mainwindow中调用sqlfunc中的函数访问数据库,提示:database not open
请问怎么回事?
[ 此帖被leehus在2009-09-17 10:31重新编辑 ]