ODBC Database connenction to ACCESS Database Hey guys, I got a little problem with the QODBC database connection. I have to open and use a ACCESS databasefile (.accdb) within my Qt programm, but I can't get it run. I think there is a mista
Hey guys,
I got a little problem with the QODBC database connection. I have to open and use a ACCESS databasefile (.accdb) within my Qt programm, but I can't get it run. I think there is a mistake in the database name but I am not that familiar with database handling so I need a little help with this. I started a simple mainwindow projekt and put all the database stuff in the main function. Here is the code:
@@##@@650) this.width=650;" src="http://cdn.verydemo.com/upload/2013_05_01/13673573082180.png" alt="" > |
Source code |
@@######@@ | @@######@@ |
ThorsFeldherr
Beginner
Posts: 3
Location: Bavaria/Germany
Occupation: Master of Engineering
Friday, February 24th 2012, 5:53pm
Ok now I am a little bit further. I debugged it and I cant connect because of this error:
[Microsoft][ODBC Driver Manager] Der Datenquellenname wurde nicht gefunden, und es wurde kein Standardtreiber angegeben
in English: The data source name not found and no default driver specified
Can you help me?
ThorsFeldherr
Beginner
Posts: 3
Location: Bavaria/Germany
Occupation: Master of Engineering
Friday, February 24th 2012, 7:38pm
Ok I got it by myself. I post the solution in case anyone else has the same problem.
I use windows 7, 32 bit. If you want to use a database from type .mdb or .accdb with ODBC you have to register the database as datasource before you can use it via C++ in any case. It is rather simple to to do:
You go into start->system
type ODBC into the search field
the result is datasource(ODBC)-> click it
Under "User-DSN" you can add a new source
you have to choose a database (which is the one you want to use) and you can give it a sourcename for example "YOURSOURCE"
After you have done that you can call the database like that:
@@##@@650) this.width=650;" src="http://cdn.verydemo.com/upload/2013_05_01/13673573082180.png" alt="" > |
Source code |
@@######@@ | @@######@@ |
本文来源:http://www.qtforum.org/article/37487/odbc-database-connenction-to-access-database.html
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
#include <QtGui/QApplication> #include "mainwindow.h" #include <QtSql/qsql_odbc.h> #include <QtSql/QSqlDatabase> #include <QtSql/QtSql> int main(int argc, char *argv[]) { QApplication a(argc, argv); MainWindow w; w.show(); QSqlDatabase datab = QSqlDatabase::addDatabase("QODBC"); QString databasename = "DRIVER={Microsoft Access Driver (*.accdb)};FIL={MS Access};DBQ=C://Users/Thor/Pers/Projekt Madinger/Datenbank/Daten_Hauptprogramm.accdb"; datab.setDatabaseName(databasename); if(!datab.open()) { datab.setConnectOptions(); return 1; } else return 0; return a.exec(); }
1 2 3 4 5 6
QSqlDatabase datab = QSqlDatabase::addDatabase("QODBC"); QString databasename = "YOURSOURCE"; datab.setDatabaseName(databasename); datab.open();
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号