How can I connect to SQL Server with Qt ?
Qt supports ODBC, to connect to an odbc database using a QSqlDatabase
you can use the following code
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
{
}
Most or all of the QSql... classes return an error, it is a very good habit to always check that error.
If you built Qt from scratch you might have to enable the building of the odbc plugin
On Windows, you could also connect to a database using a DSN. In this example, a DSN named "Orders" is created and used.
//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();
}
精彩评论