Qt SQL -配置连接到数据库
Qt SQL - Configuring Connection to Database
我已经放弃了为Qt 5.0库配置MYSQL驱动程序的尝试,我将使用目前唯一可用的驱动程序- "QSQLITE"。
我一直在努力让这个工作相当一段时间,并尝试了在类似的帖子中提到的一切:Select from SQLite with Qt
QSqlDatabase db = QSqlDatabase::addDatabase("QSQLITE");
db.setHostName(SQL_SERVER);
db.setPort(SQL_PORT);
db.setDatabaseName(SQL_DATABASE);
db.setUserName(SQL_USER);
db.setPassword(SQL_PASS);
bool dbSuccess = db.open();
QList<QString> deviceNames;
QString deviceName;
qDebug() << db;
if(dbSuccess){
QSqlQuery query;
qWarning("We made it into the DB");
query.exec("SELECT device_name FROM tbl_device");
while (query.next() ){
qDebug() << query.value(1).toString();
// deviceNames.append(deviceName);
//qDebug() << "Test: "<< deviceName;
}
}
else if(!db.open()){
qWarning("Database failed to load!");
}
Where SQL_Server = 192.168.1.100
我从应用程序得到以下qDebug输出:
QSqlDatabase(driver=""QSQLITE"", database=""homelogic"", host=""hendrenserver"", port=3306, user=""homelogic"", open=true)
We made it into the DB
输出表明数据库连接是有效的,但是如果我将服务器名更改为完全错误的东西,例如"xlkcjox"或其他随机密钥,则会得到相同的输出。我遗漏了什么?我觉得这应该比较容易。
请建议!
当为qt使用sqlite驱动程序时,数据库名是磁盘上的一个文件,与主机名无关。这就是sqlite的工作原理。它不需要主机,只需要文件名
我重新审视这个问题是为了分享我今天遇到的一个非常有用的链接。我使用Qt 4.8.4和QODBC驱动程序达成了解决方案。由于需要使用QSerialPort和项目bug,我今天更新到5.0.1。在重建我的ODBC插件时,我发现了这个链接:http://seppemagiels.com/blog/create-mysql-driver-qt5-windows。不到20分钟,我就完成了我最初想要的QMYSQL驱动程序。我希望这对其他人有所帮助!
相关文章:
- C++应用程序 MySQL odbc 数据库连接错误:在引发"otl_tmpl_exception<>"实例后终止调用
- 如何在多个线程中创建 QSql数据库连接时防止名称冲突
- 数据库连接并将数据从C ++程序保存到MySQL
- 在 C++ 中获取数据库连接
- Firebase C++ Windows 上的实时数据库连接丢失
- 我不能使用 mysql 数据库连接同时使用插入和选择.C++
- C++ Qt SQL lite 数据库连接问题
- C++ 程序中的数据库连接检查
- 打开与 Qt/C++ 的数据库连接
- 如何修复数据库连接的C 程序运行时间错误(0xc0000005)
- 使用libpq组织PostgreSQL数据库连接参数
- Qt 中的数据库连接池
- Qt-同时处理多个数据库连接
- 使用QT C 为Sevaral表单创建常见的数据库连接
- 将Raspberry Pi 2与外部远程数据库连接
- 是否允许在同一 Sqlite 数据库连接中启动多个事务
- IIS-部署ASP.NET网站和数据库连接
- 没有数据库连接的字符串转义
- Singletone中的数据库连接
- 正在将数据库连接到本地网络中的程序