#ifndef CONNECTION_H
#define CONNECTION_H
#include <QMessageBox>
#include <QSqlDatabase>
#include <QSqlQuery>
static bool createConnection()
{
QSqlDatabase db = QSqlDatabase::addDatabase("QODBC", "dbTemp");
db.setHostName("NAN-B1C70048FC7");
QString dsn = QString::fromLocal8Bit("DRIVER={SQL SERVER};SERVER=NAN-B1C70048FC7;DATABASE=nan;");
db.setDatabaseName(dsn);
//db.setUserName("");
//db.setPassword("");
if (!db.open()) //连接的时候这里的db.open() 为1 表示数据库已经打开 没有输出错误信息
{
QMessageBox::critical(0, qApp->tr("Cannot open database"),
qApp->tr("Unable to establish a database connection."
), QMessageBox::Cancel);
return false;
}
//下面建表也建不成功
QSqlQuery query;
query.exec("create table student (id int primary key, "
"name varchar(20))");
query.exec("insert into student values(0, 'first')");
query.exec("insert into student values(1, 'second')");
query.exec("insert into student values(2, 'third')");
query.exec("insert into student values(3, 'fourth')");
query.exec("insert into student values(4, 'fifth')");
return true;
}
#endif // CONNECTION_H
//最后输出信息是这样 说数据库没打开 请问各位大侠这是什么问题
Starting C:\QTPRO\querynan-build-desktop\debug\querynan.exe...
QSqlQuery::exec: database not open
QSqlQuery::exec: database not open
QSqlQuery::exec: database not open
QSqlQuery::exec: database not open
QSqlQuery::exec: database not open
QSqlQuery::exec: database not open