最近在用qt編寫乙個小的專案,前幾今天都好好的,資料庫一點問題都沒有,今天不知道怎麼了,老是出現亂碼,怎麼改都不行,想了半天自己也沒有改什麼不該改的地方啊,糾結了一天,哎!自己昨天的程式還都能執行,沒有出現錯誤,今天的程式就是不行了!貌似程式和自己過不去似得,就在剛才終於解決了這個問題,no!不能說是解決了,只是沒有亂碼而已,現在還不知道是出了什麼問題導致的。我的資料庫中部分**是這樣的:
/*建立資料裡並鏈結*/
static bool createconnection()
else
"localhost");
db.setdatabasename("supsystem.db"); //設定資料庫的名字
"root");
"123456");
if(!db.open())
qsqlquery query;
/***************************員 工 表 *****************************/
query.exec(qobject::tr("create table user(user_id integer primary key autoincrement,"
"user_name vchar(100) ,user_*** vchar(10),"
"user_age vchar(100),user_pwd vchar(20))"));
query.exec(qobject::tr("insert into user values (1000,'admin 超級管理員','男','20','lq')"));
query.exec(qobject::tr("insert into user values (1001,'小張 管理員','女','22','1001')"));
//此處省略其他的……
}
網上都說只要加了
qobject::tr
就行了,但是我的還是不行,不知道為什麼,很是糾結。我在主函式裡面也加了轉碼語句了:
qtextcodec::setcodecfortr(qtextcodec::codecforname("gb2312"));
qtextcodec::setcodecforcstrings(qtextcodec::codecforname("utf-8"));//支援中文檔名顯示
結果是,依然亂碼。
如果你也遇到了相似的問題,可以一起交流。
Qt運算元據庫
qt運算元據庫其實不難,只要連線成功資料庫,寫對sql語句就行。連線資料庫可參照 簡單的在程式中寫死的sql語句寫法如下 qsqlquery query query.exec insert into tablename id,name values 001,test 先構造乙個qsqlquery的物...
QT運算元據庫
qsqldatabase db qsqldatabase adddatabase qmysql db.sethostname localhost db.setdatabasename test db.setusername root db.setpassword bool ok db.open qs...
Qt之運算元據庫(SQLite)
qtsql模組提供了與平台以及資料庫種類無關的訪問sql資料庫的介面,這個介面由利用qt的模型檢視結構將資料庫與使用者介面整合的一套類來支援。驅動程式 資料庫 qdb2 ibm db27.1版以及更新的版本 qibase borlandinterbase qmysql mysql qoci 甲骨文公...