Vorgehensweise, die ich dabei erarbeitet habe:
1. Microsoft Access Driver laden
2. Verbindung zur MDB herstellen
3. Zugriffe mit Hilfe von QsqlQuery
Das Umbenennen einer Spalte in einer Tabelle klappt schon mal nicht, obwohl alles fehlerfrei kompiliert wird und Open Befehl erfolgreich durchgeführt wird (getestet)..., hier der Code:
Code: Alles auswählen
QString mdbName("DRIVER={Microsoft Access Driver (*.mdb)};FIL={MS Access};DBQ=");
mdbName.append(m_mdb); // den pfad zur Datenbank hinzufügen
m_mdb = QSqlDatabase::addDatabase("QODBC"); // Add a database with QODBC driver
m_mdb.setDatabaseName(mdbName);
if (m_mdb.open())
{
QSqlQuery RenameQuery;
QString rename = "ALTER TABLE T_TbTexte RENAME COLUMN No TO Nummer";
RenameQuery.exec(rename);
}
else
{// to show error message box if something failed while db opening
QMessageBox::critical(this, tr("Database"), T_TbTexte.lastError().text(),
QMessageBox::Ok, QMessageBox::NoButton);
}
MFG Junkee