• 11424阅读
  • 6回复

情急求助qt4数据库 [复制链接]

上一主题 下一主题
离线yishu
 
只看楼主 倒序阅读 楼主  发表于: 2010-02-10
#include <QtGui>

//连接数据库需要的头文件:
#include <QSqlDatabase>
#include <QSqlQuery>
#include <QtSql>

dlgdatabase.cpp:4:24: QSqlDatabase: No such file or directory
dlgdatabase.cpp:5:21: QSqlQuery: No such file or directory
dlgdatabase.cpp:6:17: QtSql: No such file or directory
In file included from dlgdatabase.cpp:7:


我将qsqldatabase.h qsqlquery.h拷至自己的目录
#include "qsqldatabase.h"
#include "qsqlquery.h"

_g++ -c -g -frtti -fexceptions -mthreads -Wall -DUNICODE -DQT_LARGEFILE_SUPPORT -
DQT_DLL -DQT_GUI_LIB -DQT_CORE_LIB -DQT_THREAD_SUPPORT -DQT_NEEDS_QMAIN -I"..\in
clude\QtCore" -I"..\include\QtCore" -I"..\include\QtGui" -I"..\include\QtGui" -I
"..\include" -I"." -I"c:\Qt\4.4.3\include\ActiveQt" -I"tmp\moc\debug_shared" -I"
." -I"c:\MinGW\include" -I"..\include" -I"..\mkspecs\win32-g++" -o tmp\obj\debug
_shared\qsqldatabase.o ..\src\sql\kernel\qsqldatabase.cpp
..\src\sql\kernel\qsqldatabase.cpp:90:38: private/qsqlnulldriver_p.h: No such fi
le or directory
..\src\sql\kernel\qsqldatabase.cpp:103: error: definition of static data member
'QSqlDatabase::defaultConnection' of dllimport'd class.
..\src\sql\kernel\qsqldatabase.cpp:103: warning: 'QSqlDatabase::defaultConnectio
n' defined locally after being referenced with dllimport linkage
..\src\sql\kernel\qsqldatabase.cpp: In static member function `static QSqlDataba
sePrivate* QSqlDatabasePrivate::shared_null()':
..\src\sql\kernel\qsqldatabase.cpp:214: error: `QSqlNullDriver' does not name a
type
..\src\sql\kernel\qsqldatabase.cpp:215: error: `dr' undeclared (first use this f
unction)
..\src\sql\kernel\qsqldatabase.cpp:215: error: (Each undeclared identifier is re
ported only once for each function it appears in.)
..\src\sql\kernel\qsqldatabase.cpp: In static member function `static QSqlDataba
se QSqlDatabasePrivate::database(const QString&, bool)':
..\src\sql\kernel\qsqldatabase.cpp:270: error: invalid use of undefined type `st
ruct QSqlError'
..\src\sql\kernel\/qsqldatabase.h:53: error: forward declaration of `struct QSql
Error'
..\src\sql\kernel\qsqldatabase.cpp: In member function `void QSqlDatabasePrivate
::init(const QString&)':
..\src\sql\kernel\qsqldatabase.cpp:528: warning: function 'static QStringList QS
qlDatabase::drivers()' is defined after prior declaration as dllimport: attribut
e ignored
..\src\sql\kernel\qsqldatabase.cpp: In member function `QSqlQuery QSqlDatabase::
exec(const QString&) const':
..\src\sql\kernel\qsqldatabase.cpp:810: error: invalid use of undefined type `st
ruct QSqlError'
..\src\sql\kernel\/qsqldatabase.h:53: error: forward declaration of `struct QSql
Error'
..\src\sql\kernel\qsqldatabase.cpp: At global scope:
..\src\sql\kernel\qsqldatabase.cpp:825: warning: function 'bool QSqlDatabase::op
en()' is defined after prior declaration as dllimport: attribute ignored
..\src\sql\kernel\qsqldatabase.cpp:825: warning: 'bool QSqlDatabase::open()' def
ined locally after being referenced with dllimport linkage
..\src\sql\kernel\qsqldatabase.cpp:862: warning: function 'void QSqlDatabase::cl
ose()' is defined after prior declaration as dllimport: attribute ignored
..\src\sql\kernel\qsqldatabase.cpp:862: warning: 'void QSqlDatabase::close()' de
fined locally after being referenced with dllimport linkage
..\src\sql\kernel\qsqldatabase.cpp:872: warning: function 'bool QSqlDatabase::is
Open() const' is defined after prior declaration as dllimport: attribute ignored

..\src\sql\kernel\qsqldatabase.cpp:872: warning: 'bool QSqlDatabase::isOpen() co
nst' defined locally after being referenced with dllimport linkage
..\src\sql\kernel\qsqldatabase.cpp:990: warning: function 'void QSqlDatabase::se
tUserName(const QString&)' is defined after prior declaration as dllimport: attr
ibute ignored
..\src\sql\kernel\qsqldatabase.cpp:990: warning: 'void QSqlDatabase::setUserName
(const QString&)' defined locally after being referenced with dllimport linkage
..\src\sql\kernel\qsqldatabase.cpp:1138: warning: function 'QSqlError QSqlDataba
se::lastError() const' is defined after prior declaration as dllimport: attribut
e ignored
..\src\sql\kernel\qsqldatabase.cpp:1138: warning: 'QSqlError QSqlDatabase::lastE
rror() const' defined locally after being referenced with dllimport linkage
..\src\sql\kernel\qsqldatabase.cpp: In member function `QSqlError QSqlDatabase::
lastError() const':
..\src\sql\kernel\qsqldatabase.cpp:1138: error: return type `struct QSqlError' i
s incomplete
..\src\sql\kernel\qsqldatabase.cpp:1139: error: invalid use of undefined type `s
truct QSqlError'
..\src\sql\kernel\/qsqldatabase.h:53: error: forward declaration of `struct QSql
Error'
..\src\sql\kernel\qsqldatabase.cpp: In static member function `static QSqlDataba
se QSqlDatabase::addDatabase(QSqlDriver*, const QString&)':
..\src\sql\kernel\qsqldatabase.cpp:670: warning: function 'QSqlDatabase::QSqlDat
abase(QSqlDriver*)' is defined after prior declaration as dllimport: attribute i
gnored
..\src\sql\kernel\qsqldatabase.cpp: At global scope:
..\src\sql\kernel\qsqldatabase.cpp:1412: warning: function 'bool QSqlDatabase::i
sValid() const' is defined after prior declaration as dllimport: attribute ignor
ed
..\src\sql\kernel\qsqldatabase.cpp:1412: warning: 'bool QSqlDatabase::isValid()
const' defined locally after being referenced with dllimport linkage
..\src\sql\kernel\qsqldatabase.cpp: In static member function `static QSqlDataba
se QSqlDatabase::cloneDatabase(const QSqlDatabase&, const QString&)':
..\src\sql\kernel\qsqldatabase.cpp:1100: warning: function 'QString QSqlDatabase
::driverName() const' is defined after prior declaration as dllimport: attribute
ignored
..\src\sql\kernel\qsqldatabase.cpp: In function `QDebug operator<<(QDebug, const
QSqlDatabase&)':
..\src\sql\kernel\qsqldatabase.cpp:1070: warning: function 'QString QSqlDatabase
::userName() const' is defined after prior declaration as dllimport: attribute i
gnored
..\src\sql\kernel\qsqldatabase.cpp:1111: warning: function 'int QSqlDatabase::po
rt() const' is defined after prior declaration as dllimport: attribute ignored
..\src\sql\kernel\qsqldatabase.cpp:1090: warning: function 'QString QSqlDatabase
::hostName() const' is defined after prior declaration as dllimport: attribute i
gnored
..\src\sql\kernel\qsqldatabase.cpp:1060: warning: function 'QString QSqlDatabase
::databaseName() const' is defined after prior declaration as dllimport: attribu
te ignored
mingw32-make[1]: *** [tmp/obj/debug_shared/qsqldatabase.o] Error 1
mingw32-make[1]: Leaving directory `C:/Qt/4.4.3/chenhangling'
mingw32-make: *** [debug-all] Error 2
[ 此帖被yishu在2010-02-10 19:57重新编辑 ]
离线yishu
只看该作者 1楼 发表于: 2010-02-10
没人碰到过这种问题吗
离线aaaaa007

只看该作者 2楼 发表于: 2010-02-11
.pro文件里有没有添加QT += sql?
离线午小夜

只看该作者 3楼 发表于: 2010-02-11
donot forget about QT += sql in your .pro file
[操作系统版本]  Windows XP;Linux Ubuntu;Linux Fedora;
[Qt SDK版本]    4.7.0
[SDK 发布日期]  2010.05
[IDE(集成开发环境)] QtCreator
个人网页:http://hi.baidu.com/午小夜
學歷:Royal Jalidon
离线yishu
只看该作者 4楼 发表于: 2010-02-22
加了 Qt += sql

_g++ -c -g -frtti -fexceptions -mthreads -Wall -DUNICODE -DQT_LARGEFILE_SUPPORT -
DQT_DLL -DQT_GUI_LIB -DQT_CORE_LIB -DQT_THREAD_SUPPORT -DQT_NEEDS_QMAIN -I"..\in
clude\QtCore" -I"..\include\QtCore" -I"..\include\QtGui" -I"..\include\QtGui" -I
"..\include" -I"." -I"c:\Qt\4.4.3\include\ActiveQt" -I"tmp\moc\debug_shared" -I"
." -I"c:\MinGW\include" -I"..\include" -I"..\mkspecs\win32-g++" -o tmp\obj\debug
_shared\qsqldatabase.o ..\src\sql\kernel\qsqldatabase.cpp
..\src\sql\kernel\qsqldatabase.cpp:90:38: private/qsqlnulldriver_p.h: No such fi
le or directory
..\src\sql\kernel\qsqldatabase.cpp:103: error: definition of static data member
'QSqlDatabase::defaultConnection' of dllimport'd class.
..\src\sql\kernel\qsqldatabase.cpp:103: warning: 'QSqlDatabase::defaultConnectio
n' defined locally after being referenced with dllimport linkage
..\src\sql\kernel\qsqldatabase.cpp: In static member function `static QSqlDataba
sePrivate* QSqlDatabasePrivate::shared_null()':
..\src\sql\kernel\qsqldatabase.cpp:214: error: `QSqlNullDriver' does not name a
type
..\src\sql\kernel\qsqldatabase.cpp:215: error: `dr' undeclared (first use this f
unction)
..\src\sql\kernel\qsqldatabase.cpp:215: error: (Each undeclared identifier is re
ported only once for each function it appears in.)
..\src\sql\kernel\qsqldatabase.cpp: In static member function `static QSqlDataba
se QSqlDatabasePrivate::database(const QString&, bool)':
..\src\sql\kernel\qsqldatabase.cpp:270: error: invalid use of undefined type `st
ruct QSqlError'
..\src\sql\kernel\/qsqldatabase.h:53: error: forward declaration of `struct QSql
Error'
..\src\sql\kernel\qsqldatabase.cpp: In member function `void QSqlDatabasePrivate
::init(const QString&)':
..\src\sql\kernel\qsqldatabase.cpp:528: warning: function 'static QStringList QS
qlDatabase::drivers()' is defined after prior declaration as dllimport: attribut
e ignored
..\src\sql\kernel\qsqldatabase.cpp: In member function `QSqlQuery QSqlDatabase::
exec(const QString&) const':
..\src\sql\kernel\qsqldatabase.cpp:810: error: invalid use of undefined type `st
ruct QSqlError'
..\src\sql\kernel\/qsqldatabase.h:53: error: forward declaration of `struct QSql
Error'
..\src\sql\kernel\qsqldatabase.cpp: At global scope:
..\src\sql\kernel\qsqldatabase.cpp:825: warning: function 'bool QSqlDatabase::op
en()' is defined after prior declaration as dllimport: attribute ignored
..\src\sql\kernel\qsqldatabase.cpp:825: warning: 'bool QSqlDatabase::open()' def
ined locally after being referenced with dllimport linkage
..\src\sql\kernel\qsqldatabase.cpp:862: warning: function 'void QSqlDatabase::cl
ose()' is defined after prior declaration as dllimport: attribute ignored
..\src\sql\kernel\qsqldatabase.cpp:862: warning: 'void QSqlDatabase::close()' de
fined locally after being referenced with dllimport linkage
..\src\sql\kernel\qsqldatabase.cpp:872: warning: function 'bool QSqlDatabase::is
Open() const' is defined after prior declaration as dllimport: attribute ignored

..\src\sql\kernel\qsqldatabase.cpp:872: warning: 'bool QSqlDatabase::isOpen() co
nst' defined locally after being referenced with dllimport linkage
..\src\sql\kernel\qsqldatabase.cpp:990: warning: function 'void QSqlDatabase::se
tUserName(const QString&)' is defined after prior declaration as dllimport: attr
ibute ignored
..\src\sql\kernel\qsqldatabase.cpp:990: warning: 'void QSqlDatabase::setUserName
(const QString&)' defined locally after being referenced with dllimport linkage
..\src\sql\kernel\qsqldatabase.cpp:1138: warning: function 'QSqlError QSqlDataba
se::lastError() const' is defined after prior declaration as dllimport: attribut
e ignored
..\src\sql\kernel\qsqldatabase.cpp:1138: warning: 'QSqlError QSqlDatabase::lastE
rror() const' defined locally after being referenced with dllimport linkage
..\src\sql\kernel\qsqldatabase.cpp: In member function `QSqlError QSqlDatabase::
lastError() const':
..\src\sql\kernel\qsqldatabase.cpp:1138: error: return type `struct QSqlError' i
s incomplete
..\src\sql\kernel\qsqldatabase.cpp:1139: error: invalid use of undefined type `s
truct QSqlError'
..\src\sql\kernel\/qsqldatabase.h:53: error: forward declaration of `struct QSql
Error'
..\src\sql\kernel\qsqldatabase.cpp: In static member function `static QSqlDataba
se QSqlDatabase::addDatabase(QSqlDriver*, const QString&)':
..\src\sql\kernel\qsqldatabase.cpp:670: warning: function 'QSqlDatabase::QSqlDat
abase(QSqlDriver*)' is defined after prior declaration as dllimport: attribute i
gnored
..\src\sql\kernel\qsqldatabase.cpp: At global scope:
..\src\sql\kernel\qsqldatabase.cpp:1412: warning: function 'bool QSqlDatabase::i
sValid() const' is defined after prior declaration as dllimport: attribute ignor
ed
..\src\sql\kernel\qsqldatabase.cpp:1412: warning: 'bool QSqlDatabase::isValid()
const' defined locally after being referenced with dllimport linkage
..\src\sql\kernel\qsqldatabase.cpp: In static member function `static QSqlDataba
se QSqlDatabase::cloneDatabase(const QSqlDatabase&, const QString&)':
..\src\sql\kernel\qsqldatabase.cpp:1100: warning: function 'QString QSqlDatabase
::driverName() const' is defined after prior declaration as dllimport: attribute
ignored
..\src\sql\kernel\qsqldatabase.cpp: In function `QDebug operator<<(QDebug, const
QSqlDatabase&)':
..\src\sql\kernel\qsqldatabase.cpp:1070: warning: function 'QString QSqlDatabase
::userName() const' is defined after prior declaration as dllimport: attribute i
gnored
..\src\sql\kernel\qsqldatabase.cpp:1111: warning: function 'int QSqlDatabase::po
rt() const' is defined after prior declaration as dllimport: attribute ignored
..\src\sql\kernel\qsqldatabase.cpp:1090: warning: function 'QString QSqlDatabase
::hostName() const' is defined after prior declaration as dllimport: attribute i
gnored
..\src\sql\kernel\qsqldatabase.cpp:1060: warning: function 'QString QSqlDatabase
::databaseName() const' is defined after prior declaration as dllimport: attribu
te ignored
mingw32-make[1]: *** [tmp/obj/debug_shared/qsqldatabase.o] Error 1
mingw32-make[1]: Leaving directory `C:/Qt/4.4.3/chenhangling'
mingw32-make: *** [debug-all] Error 2
离线XChinux

只看该作者 5楼 发表于: 2010-02-23
#include <QtSql>

直接按上面的写就完事了。
二笔 openSUSE Vim N9 BB10 XChinux@163.com 网易博客 腾讯微博
承接C++/Qt、Qt UI界面、PHP及预算报销系统开发业务
离线李如强
只看该作者 6楼 发表于: 2010-02-23
我将qsqldatabase.h qsqlquery.h拷至自己的目录
#include "qsqldatabase.h"
#include "qsqlquery.h"
-------------------------------------
这个是不需要copy的,应该是你的qt环境不对吧,卸载了重新安装一下试试
天之道,勤能补拙
快速回复
限100 字节
 
上一个 下一个