- 论坛徽章:
- 0
|
- db=QSqlDatabase::addDatabase("QODBC", "db");
-
db.setHostName("localhost");
-
db.setPort(1433);
-
db.setDatabaseName("ODBC数据源名");
-
db.setUserName("sa");
-
db.setPassword("password");
-
if(!db.open())
-
{
-
QMessageBox::information(this, tr("db"), tr("can not open"));
-
return false;
-
}
关键是要把QT文件夹下的plugins下的sqldrivers文件夹拷贝到编译好的可执行文件相同的目录下。
- #ifndef CONNECTION_H
-
#define CONNECTION_H
-
#include <QMessageBox>
-
#include <QSqlDatabase>
-
#include <QSqlError>
-
#include <QSqlQuery>
-
-
-
static bool connection()
-
{
-
QSqlDatabase db=QSqlDatabase::addDatabase("QODBC");
-
db.setDatabaseName(QString("DRIVER={SQL SERVER};"
-
"SERVER=%1;" //服务器名称
-
"DATABASE=%2;"//数据库名
-
"UID=%3;" //登录名
-
"PWD=%4;" //密码
-
).arg("TANY_PC")
-
.arg("MyData")
-
.arg("sa")
-
.arg("")
-
);
-
if (!db.open())
-
{
-
QMessageBox::critical(0, qApp->tr("Cannot open database"),
-
db.lastError().databaseText(), QMessageBox::Cancel);
-
return false;
-
}
-
else
-
{
-
QMessageBox::information(0,"Connect Database","connect success!",QMessageBox::Ok);
-
return true;
-
}
-
return true;
-
}
-
#endif // CONNECTION_H
|
|