我想要做的是从目录中找到所有.db(Paradox)文件并将它们保存到.mdb。问题是,如果这项工作正常,我首先尝试打开一个ACCDB(.db和.mdb我将使用的资源只能在我学校的内部网络中使用)。
我已经检查了,我在Qt目录中找到了sql驱动程序,我还在我的pro文件中添加了QT + = sql,我已经安装了访问权限数据库引擎,也安装了VBA,但我无法打开连接。我还没有尝试连接到SQLITE数据库来尝试它是否有效,但我猜它会。这是从按钮触发的代码:
db.addDatabase("QODBC");
explorador.setFileMode(QFileDialog::Directory);
ruta=explorador.getExistingDirectory(this,"Seleccionar directorio");
directorio.setPath(ruta);
subdir=directorio.entryList(QDir::AllDirs);
//La lista comienza en el 2º elemento
for(int i=2;i<subdir.size();i++)
{
subruta=ruta+"/"+subdir.at(i);
directorio.setPath(subruta);
db.setDatabaseName("DRIVER={Microsoft Access Driver (*.mdb, *.accdb)};DBQ="+subruta+"/Base de datos11.accdb");
bool check=db.open();
if(check)
{
dbg.setText("Prueba");
dbg.show();
}
else
{
dbg.setText("Pruebaaa");
dbg.show();
}
}
有什么想法吗?谢谢!
答案 0 :(得分:0)
我最终解决了它绕过访问的那种情况。如果其他人正在努力解决这个问题,你需要:
-Paradox数据库引擎(确保您下载的版本与.db文件匹配)
-Jet engine 4.0或更高版本
-access 2007(以下版本删除了Paradox数据库连接)
- 访问数据库引擎文件夹(jet和paradox)的管理员权限
只需通过连接或数据库对象打开数据库。 Sintax应该是这样的(通过访问中的VBA模块):
database.open(path,*不要记住这里的内容,*这里是读/写许可,&#34; Paradox 5.x&#34;)
路径应指向包含一个或多个.db文件的文件夹,该文件夹将作为单个数据库打开,文件为表。它实际上创建了一个新的数据库(.accdb或.mdb,取决于你如何保存它)
这不完全是这样,但我在我的笔记本电脑上。我在代码前面编辑答案
对不起,这不是一个c ++的答案,但是从我发现的情况来看,使用paradox数据库是一种痛苦。希望这有助于其他人的斗争。
里卡多