Цитата(Borodeys @ 27.4.2011, 22:05)
Однако здесь только все начинается, по умолчанию QT использует только драйвера SQLite, а нам же нужен драйвер qsqlodbc4.dll и libqsqlodbc4.lib, которые лежат в папке qtdir\qt\plugins\sqldrivers.
Из коробки LGPL Qt поддерживает не только SQLite, но и другие типы БД, в том числе и, требуемый Вам, ODBC. Подключать их не нужно. Допустим у вас есть источник данных ODBC с именем MyDB, тогда подключение будет выглядеть так:
widget.h#ifndef WIDGET_H
#define WIDGET_H
#include <QtGui>
#include <QtSql>
class Widget : public QWidget{
Q_OBJECT
QSqlDatabase db;
public:
Widget(QWidget *parent = 0);
~Widget();
};
#endif // WIDGET_H
widget.cpp#include "widget.h"
Widget::Widget(QWidget *parent) : QWidget(parent){
bd = QSqlDatabase::addDatabase("QODBC");
bd.setDatabaseName("MyDB");
bd.setUserName("username");
bd.setPassword("userpassword");
if(!db.open()) qDebug() << "Can't open DB: " << db.lastError().text();
// теперь можете работать со своей БД, например выполнять простые запросы:
QSqlQuery query;
if(query.exec("SELECT * FROM [sometable]")) qDebug() << "Selected: " << query.numRowsAffected() << "rows";
else qDeubg() << "error: " << query.lastError().text();
}