❶ 缺少qt5widgets.dll怎麼辦
你可以重新下載一個qt5widgets.dl文件,然後按如下步驟操作:
一、解壓後直接拷貝該文件到系統目錄里:
1、Windows 95/98/Me系統,復制到C:WindowsSystem目錄下。
2、Windows NT/2000系統,復制到C:WINNTSystem32目錄下。
3、Windows XP/WIN7/Vista系統,復制到C:WindowsSystem32目錄下。
4、如果您的系統是64位的請將文件復制到C:WindowsSysWOW64。
目錄二、打開"開始-運行-輸入regsvr32 libeay32.dll",回車即可解決。已上傳並提供下載鏈接,可根據需要下載。
可以安裝騰訊電腦管家,點擊工具箱-電腦診所-直接搜索丟失qt5widgets.dl,會有一鍵修復辦法,非常方便的。
❷ qt5gui.dll 文件丟失怎麼辦
你好,
1、到網上下載一個qt5cored.dll文件。
2、將qt5cored.dll復制到C:\WINNT\System32目錄下。
3、打開"開始-運行-輸入regsvr32
qt5cored.dll",回車即可解決。
❸ C#引入QT5環境下生成的DLL用不了,報錯是無法載入 找不到指定模塊
添加引用--瀏覽,找到下載的dll。
❹ 缺少qt5widgets.dll怎麼辦
摘要 既然彈出Qt5core.dll,那就說明該動態鏈缺失或毀損,可以搜索、下載Qt5core.dll動態鏈文件。
❺ qt 能直接連sql2008嗎
1. 確定QT編譯時已經編譯了QtSql。(默認的qt5,都已經支持了,如下目錄:C:\Qt\Qt5.3.0\5.3\msvc2013_opengl\plugins\sqldrivers里有相應的驅動動態庫
也可以通過如下代碼測試qt5是否支持SqlServer
#include <QApplication>
#include <QSqlDatabase>
#include <QStringList>
#include <QDebug>
int main(int argc, char* argv[])
{
QApplication app(argc, argv);
qDebug() << "Available drivers:";
QStringList drivers = QSqlDatabase::drivers();
foreach(QString driver, drivers) //列出Qt5所有支持的資料庫類型
qDebug() << "\t" << driver;
QSqlDatabase db = QSqlDatabase::addDatabase("QODBC");
qDebug() << "ODBC driver valid?" << db.isValid(); //true為支持
}
輸出結果如下:
"QSQLITE""QMYSQL""QMYSQL3""QODBC""QODBC3""QPSQL""QPSQL7"ODBC driver valid? true
2. 若是沒有編譯,可以手動編譯了qt的ODBC插件。
可以通過編譯qt的時候加上 configure -plugin-sql-odbc來保證,也可以單獨編譯qt安裝包里的~\src\plugins\sqldrivers\odbcqmake -t vclib odbc.pronmake (註:windows中為mingw32-make)編譯後,在~\plugins\sqldrivers\下應該有qsqlodbcd4.dll(debug)或qsqlodbc4.dll
此時,可以用下面的程序,測試一下你的QT目前支持哪些資料庫訪問。
二、連接SQLServer
要注意的就是連接資料庫時使用的資料庫名,sqlserver和sqlite、mysql等是不同的,並不是直接寫入資料庫名稱。 而是DSN名。 如果你已經設置好了DSN,可以直接輸入DSN名。 如果沒有,可以採用DSN連接字元串直接連接ODBC資料庫。
1、直接設定DSN的字元串連接資料庫,很簡單。
/**
*函數介紹:創建資料庫連接
*輸入參數:
*返回值:無
*/
bool DataAccess::createConnection()
{
QStringList drivers = QSqlDatabase::drivers();
foreach(QString driver, drivers)
qDebug() << "\t" << driver;
QSqlDatabase db = QSqlDatabase::addDatabase("QODBC");
qDebug() << "ODBC driver valid?" << db.isValid();
// 注意,對於express版本資料庫, 一定要加\\sqlexpress這種後綴 SERVER=58.67.161.109\\sqlexpress
QString dsn = "DRIVER={SQL SERVER};SERVER=58.67.161.109;DATABASE=RDBS;UID=RDBS_USER;PWD=RDBS_USER_7010387;";
db.setHostName("58.67.161.109"); //資料庫伺服器,我這里不需要
//即使dsn中已經設置了UID和PASSWD,仍然需要執行setUserName和setPassword的步驟
//還要注意這里的用戶名要有創建表的許可權,不然創建下面的表student會不成功。
db.setDatabaseName(dsn); //資料庫名
db.setUserName("RDBS_USER");//登錄名,我再dsn里設置UID和PWD後,就不需要設置了
db.setPassword("RDBS_USER_7010387");//密碼,我再dsn里設置UID和PWD後,就不需要設置了
if(!db.open ())
{
QSqlError error = db.lastError();
QMessageBox::warning (0, "Warning", QString("Failed to open database!Error:%1").arg(error.text()));
returnfalse;
}
returntrue;
}
注意:連接資料庫時, 一直連不上報錯: ConnectionOpen (Invalid Instance()) , 連接無效, 結果發現微軟對express版本資料庫是有限制的, 在SERVER欄位添加\\sqlexpress這樣後綴, 連接OK。
2、手動設置ODBC數據源,然後制定DSN
控制面板->系統和安全->管理工具->數據源(ODBC)
代碼:
QSqlDatabase db=QSqlDatabase::addDatabase("QODBC");
db.setDatabaseName("testdsn");
db.setUserName("sa");
db.setPassword("scada");
三、下面是ODBC和OLEDB的連接字元串寫法:
1、ODBC連接字元串
//適合資料庫類型 連接方式
access "Driver={microsoft access driver(*.mdb)};dbq=*.mdb;uid=admin;pwd=pass;"
dBase "Driver={microsoft dbase driver(*.dbf)};driverid=277;dbq=------------;"
oracle "Driver={microsoft odbc for oracle};server=oraclesever.world;uid=admin;pwd=pass;"
MSSQL server "Driver={sql server};server=servername;database=dbname;uid=sa;pwd=pass;"
MS text "Driver={microsoft text driver(*.txt; *.csv)};dbq=-----;extensions=asc,csv,tab,txt;Persist SecurityInfo=false;"
Visual Foxpro "Driver={microsoft Visual Foxpro driver};sourcetype=DBC;sourceDB=*.dbc;Exclusive=No;"
MySQL "Driver={mysql};database=yourdatabase;uid=username;pwd=yourpassword;option=16386;"
SQLite "Driver={SQLite3 ODBC Driver};Database=D:\SQLite\*.db"
PostgreSQL "Driver={PostgreSQL ANSI};server=127.0.0.1;uid=admin;pwd=pass;database=databaseName"
2、OLEDB連接字元串
//適合的資料庫類型 連接方式
access "Provider=microsoft.jet.oledb.4.0;data source=your_database_path;user id=admin;password=pass;"
oracle "Provider=OraOLEDB.Oracle;data source=dbname;user id=admin;password=pass;"
MS SQL Server "Provider=SQLOLEDB;data source=machinename;initial catalog=dbname;userid=sa;password=pass;"
MS text "Provider=microsof.jet.oledb.4.0;data source=your_path;Extended Properties'text;FMT=Delimited'"