[英]Connecting to ACCDB using QT5
我想做的是從目錄中找到所有.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();
}
}
有什么想法嗎? 謝謝!
我最終解決了這種繞過訪問的問題。 如果其他人為此苦苦掙扎,則需要:
-Paradox DB引擎(確保下載的版本與.db文件匹配)
-Jet引擎4.0或更高版本
-access 2007(以下版本已刪除Paradox DB連接)
-管理員權限以訪問數據庫引擎文件夾(jet和悖論)
只需通過連接或數據庫對象打開數據庫。 Sintax應該是這樣的(通過訪問中的VBA模塊):
database.open(路徑,*不要補救這里的內容,*這里允許讀/寫許可,“ Paradox 5.x”)
路徑應指向包含一個或多個.db文件的文件夾,該文件將作為一個數據庫打開,文件為表。 它實際上會生成一個新數據庫(.accdb或.mdb,具體取決於您如何保存它)
並非完全像這樣,但是我在筆記本電腦上。 一旦掌握代碼,我將編輯答案
抱歉,這不是c ++的答案,但是根據我的發現,使用a **來處理悖論數據庫有點麻煩。 希望這有助於其他人的奮斗。
里卡多
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.