如何使用Qt连接到SQL Server?
答案 0 :(得分:7)
Qt支持ODBC,使用QSqlDatabase
连接到odbc数据库,您可以使用以下代码
QString connectionTemplate = "DRIVER={SQL SERVER};SERVER=%1;DATABASE=%2;";
QString connectionString = connectionTemplate.arg(server).arg(dbName);
QSqlDatabase db = QSqlDatabase::addDatabase("QODBC", connectionName);
db.setDatabaseName(connectionString);
db.setUserName(user);
db.setPassword(password);
if (db.open())
{
}
else
{
}
大多数或所有QSql ...类都返回错误,总是检查错误是一个非常好的习惯。
如果您从头开始构建Qt,则可能必须启用odbc插件的构建
答案 1 :(得分:5)
在Windows上,您还可以使用DSN连接到数据库。在此示例中,创建并使用名为“Orders”的DSN。
//Load Odbc driver
QSqlDatabase db = QSqlDatabase::addDatabase("QODBC");
//Set DSN
db.setDatabaseName("Orders");
//Connect to db
if(db.open())
{
//Query
QSqlQueryModel *model = new QSqlQueryModel;
model->setQuery("SELECT * FROM Orders ORDER BY Date DESC", db);
//Display
QTableView *view = new QTableView;
view->setModel(model);
view->show();
}