[quote author="shullw" date="1314391681"]I am currently trying to make a few simple queries through js in a qml file. I am working on a Windows XP machine where I have an ODBC connection to an Oracle RDB. In my main.cpp I was able to figure out how to get connected to the database but the connection doesn't seem to be reachable in my knowledge in the QML file. This is what I have so far.
main.cpp
@ #define DB_DRIVER "QODBC"
// you need to replace the following macros with the values relevant to
// your DSN.
// DB_DBNAME = the name of the DSN.
#define DB_DBNAME "level2dave"
// DB_USER = a username valid for your database
#define DB_USER ""
// DB_PASSWD = password for DB_USER
#define DB_PASSWD ""
// DB_HOST is not relevant to DSNs
#define DB_HOST ""
QSqlDatabase level2 = QSqlDatabase::addDatabase(DB_DRIVER);
level2.setDatabaseName(DB_DBNAME);
level2.setUserName(DB_USER);
level2.setPassword(DB_PASSWD);
level2.setHostName(DB_HOST);
if (!level2.open()) {
QMessageBox::critical(0, qApp->tr("Cannot open database"),
qApp->tr("Unable to establish a database connection.\n"
"Click Cancel to exit."), QMessageBox::Cancel);
return false;
}
@
I am 99% sure this is working because I don't get the QMessageBox anymore. That took a good long while, but now over in the qml file it seems that I can't get access to the database that I just linked to. This what I have there.
@ function linkthedb() {
var level2 = openDatabaseSync("level2", "1.0", "ODBC Connect", 10000000000000);
level2.transaction(
function(tx) {
// Show all
var rs = tx.executeSql('SELECT * FROM knowntable');
}
)
}
@
When I run all of this it just tells me the knowntable is not there. I know it is. I must not be really connecting to the database in the qml file. I thought that the addDatabase would put the ODBC database on the same level as the SqLite ones that are on the device. If anyone can help I would love a hand.[/quote]
you will need to provide bridge in C++