1、工程環境配置(vs+qt)
點選專案,右鍵,選擇專案設定,選擇sql
2、獲取自己資料庫的驅動版本有哪些,如下**所示:
qstringlist drivers =qsqldatabase::drivers();3、**如下for (int i = 0; i < drivers.size(); i++)
qdebug()
<
執行結果如下:
//access資料庫對應的是qodbc,mysql的驅動是qmysql,oracle資料的驅動是qoci,sqlite資料的驅動是qsqlite
"qsqlite""
qmysql""
qmysql3""
qodbc""
qodbc3""
qpsql""
qpsql7"//
或者檢視幫助文件,輸入sql database drivers檢視
qsqldatabase maindb = qsqldatabase::adddatabase("注意:1.資料庫**qodbc
", "
maindb
"); //
使用驅動型別和連線名稱connectionname將資料庫新增到資料庫連線列表中。在建構函式定義此物件,不然多次adddatabase會出錯。 連線名稱不能與電腦中已經連線的連線名相同,否則將會導致之前的連線被刪除
qstring dsn = qstring("
driver=;fil=;dbq=%1
").arg(filepath);//
filepath是資料庫的絕對路徑(包括資料庫的檔名)
maindb.setdatabasename(dsn);//
設定資料庫路徑 注意:如果設定好了資料庫源名,可以直接使用資料庫的源名就好
qstring sqlstr;//
資料庫操作(sql)語句
if (!maindb.open())
else
qvector x,x1;
while(query.next()) //
按行讀取
畫出乙個作用域,當這個域完成之後,資料庫的所有操作動作都被**了2、打包報錯,driver not loadqsqldatabase db = qsqldatabase::adddatabase("
qodbc
"); qstring dsn = qstring("
driver=;fil=;dbq=%1
").arg(db_path);
db.setdatabasename(dsn);//
設定資料庫路徑
db.open();
//資料庫操作
}qsqldatabase::removedatabase(
"qt_sql_default_connection
");//
這句話之前保證當前連線的資料庫沒有任何資料操作,由上面的作用域實現。 如果在定義資料庫的時候已經定義了連線名稱,就可以將引數改為連線名。
1)將c:\qt\qt5.3.1\5.3參考借鑑: --萬分感謝\msvc2012路徑下的資料夾plugins複製到exe檔案目錄下,開啟plugins,只保留sqldrivers資料夾,需要確認裡面是否有你需要的驅動, 如:程式中使用了qsqlite資料庫,則需要有qsqlite.dll(發布版)qsqlited.dll(除錯版),
2)在main.cpp檔案中新增下面第二行和第三行:
plugins");
a.addlibrarypath(strlibpath);
連線ACCESS資料庫
1 匯入命名空間空間 system.data.oledb 2 建立指向資料庫的連線 建立連線要用到system.data.oledb命名空間中的類 oledbconnection。通過以下語句可以完成對本地資料庫的連線工作 string strconnect provider microsoft.j...
access資料庫連線
string strconnection provider microsoft.jet.oledb.4.0 strconnection data source e accesstest data.mdb 裡用的是?路徑 oledbconnection objconnection new oledbc...
access資料庫加密
問題 關於jet db的連線字串,以及加密後的字串ado連線mdb檔案的字串如何寫?加密以後如何寫?回答 access資料庫加密分3種 以下以access xp為例 1 工具 安全 加密 解密資料庫,開啟時無需任何更改 2 工具 安全 設定資料庫密碼,開啟密碼為 1 開啟時需要使用 provider...