(Neessitas)Microsoft sql数据库访问在打开时出错
(Necessitas)Microsoft sql db access gives error in opening
我编写了一个访问Microsoft sql数据库的程序。它在桌面上运行良好。但当我在安卓设备中运行相同的程序时,我会出现错误:
04-09 06:17:41.784:W/Qt(1240):内核\qsqlquery.cpp:368(布尔QSqlQuery::exec(const QString&):QSqlQuery::exec:数据库未打开
这是我的代码:
QSqlDatabase db = QSqlDatabase::addDatabase("QODBC");
db.setDatabaseName("Driver={SQL Server};Server=192.168.1.3;Database=sms_exp;");
db.setUserName("sa");
db.setPassword("xxxxxyy");
if(!db.open())
{
qDebug ("Error");
}
else
{
qDebug ("OK");
}
QSqlQuery query (db);
query.exec("SELECT item_code, item_des FROM prod_mast WHERE item_code = 0100000210");
while (query.next())
{
QString name1 = query.value(0).toString();
QString name2 = query.value(1).toString();
qDebug (qPrintable(name1));
qDebug (qPrintable(name2));
}
db.close();
没有ODBC驱动程序的Android版本。如果你检查QSqlDatabase::drivers()
,你会发现Qt中只有SQLite驱动程序支持android。
在android上建立ODBC连接的唯一方法是使用支持客户端和服务器之间网络连接的JDBC-ODBC桥。安卓系统上的JDBC到windows机器上的ODBC,然后到MS Access ODBC驱动程序。
相关文章:
- 访问者访问变体并返回不同类型时出错
- 在c++中访问int到类对象的映射时出错
- 分段 访问私有类变量时出错
- 从反向顺序C++访问矢量时运行时出错
- 按基类对象访问派生类资源时出错
- 通过 [] 运算符访问unordered_map时出错
- 通过多个类访问成员时出错
- 在VS2015中访问类成员时运行时错误,但在Linux上未访问时出错
- 通过 constexpr 中的 'const char *' glvalue 访问字符串文字的值会出错
- CPLEX - 访问解决方案C++时出错
- 尝试访问列表时出错
- 我设计了一个类并创建了基指针,但是当我尝试通过基指针访问派生函数时,它会出错
- 从 OpenMP 循环内部访问和编辑 Qmap 时出错
- 从 C++ 中的类访问数组内容时出错
- 在 C++ 中访问泛型结构的成员会出错
- 对关键部分的两个进程访问出错
- C++:访问抽象超类枚举时出错
- 在C++中访问静态私有变量时出错
- 无法访问if块时出错
- 读取字符串的字符时出错-访问冲突错误C++