ACCESS数据库环境安装
该数据库位微软数据库,需要安装office下Access/mdb相关环境包,资源包中包含一个office2010的安装包,安装完成后,需要继续安装odbc管理工具(该工具一定要安装与QT数据库驱动一致的版本),资源包中包含一个32bit版本;
如果仅仅只是连接数据库,不需要查看文件,可以不安装offfice
不同版本管理工具下载链接
https://www.microsoft.com/zh-CN/download/details.aspx?id=54920
odbc管理工具使用
1.安装 accessdatabaseengine 驱动
2.配置驱动
(a)打开图示程序(注意路径C:/Windows\SysWow64)
(b)选中图示配置,点击配置按钮
(c)如图配置
这里的"Data Source Name"就是之后QT要连接的数据库名称,直接和需要连接的数据库名保持一致,避免出错
QT下连接使用数据库
szDbName = “Data.accdb”;
…
bool MyDataBase::Odbc_CreateConnection(QString szDbName, QString password)
{
mDataBase = QSqlDatabase::addDatabase(sqlr,szDbName);
mDataBase.setDatabaseName(szDbName);
if(!password.isEmpty()) //实际是否含有密码
mDataBase.setPassword(password);
if(!mDataBase.open())
{
qCritical() << g_C2Q(“无法建立数据库连接”) << mDataBase.lastError().text();
return false;
}
qDebug() << g_C2Q(“成功建立数据库连接”);
return true;
}
注意
如果ODBC下查询的数据字段类型为dateTime,则要注意字符串的格式转换,否则时间为中国标准时间但是带“T”,这里判断一下
QString str_Temp = “”;
if(query.value(index).type() == QVariant::DateTime)
str_Temp = query.value(index).toDateTime().toString(“yyyy-MM-dd hh:mm:ss”);
else
str_Temp = query.value(index).toString();