我調(diào)試了好長時間,懷疑是編碼問題,mysql的編碼方式我都試過了,都不可以。
解決問題進(jìn)程:
(1)、在dos系統(tǒng)下進(jìn)入mysql數(shù)據(jù)庫輸入show variables like ‘char%’;
我斟酌多是character_set_connection的編碼有問題,因而開始設(shè)置它的編碼方式,但是,這個編碼方式重新啟動數(shù)據(jù)庫還是原來的編碼方式。固然可以mysql數(shù)據(jù)庫配置文件中設(shè)置,但是否是這個緣由。
(2)、斟酌到多是數(shù)據(jù)庫字符集編碼方式問題,采取HeidiSQL軟件轉(zhuǎn)換編碼方式。
其實mysql通常都是用utf8編碼,不用改變,所以失敗了。
(3)、換個角度,如果不是mysql的問題就是Undac控件的問題了,究竟是甚么控件呢?固然是從連接數(shù)據(jù)庫控件開始找了。
雙擊它,
選擇Options,里面第1項Charset設(shè)置成GB2312,這樣就弄定了。
cxgrid 漢字顯示解決了。
下面這句話用Undac控件履行,會報語法毛病。
毛病類型1:Unknown column ‘rownum’ in ‘where clause’
毛病類型2:#42S22Unknown column ‘2005’
update tb_zichan set Logliushui="20150318",JieChuRen="李2狗",JieChuRenDianHua="18791983947",JieChuWeiZhi="537",YuGuiHuanShiJian="2015-03⑴8",JingShouRen="糖糖",JieChuShiJian="2015-04⑵8 18:33:42",JieChuRenEMail="",JieChuZhuangTai="借出" where SheBeiBianHao="20050408"。
嘗試了好屢次,最后發(fā)現(xiàn)原來Undac控件履行mysql語句,字符串字段不能用雙引號,只能用單引號。例以下面語句。
UPDATE tb_zichan SET Logliushui ='20150318',JieChuRen ='人',JieChuRenDianHua ='18791983947',JieChuWeiZhi ='537',YuGuiHuanShiJian ='2015-03⑴8',JingShouRen ='dhfjh',JieChuShiJian ='2015-04⑵8 18:33:42',JieChuRenEMail ='',JieChuZhuangTai ='hfudgf' where SheBeiBianHao ='20050408'
UPDATE tb_zichan SET Logliushui ='20150318',JieChuRen ='人',JieChuRenDianHua =null,JieChuWeiZhi ='537',YuGuiHuanShiJian ='2015-03⑴8',JingShouRen ='dhfjh',JieChuShiJian ='2015-04⑵8 18:33:42',JieChuRenEMail ='',JieChuZhuangTai ='hfudgf' where SheBeiBianHao is null
條件是使用數(shù)據(jù)庫時改變了數(shù)據(jù)庫中的字段類型時,運行Undac中的表會報表中字段與數(shù)據(jù)庫字段不匹配毛病。
通常將Undac中的table中的fields雙擊打開,刪除里面的所有字段,然后連接數(shù)據(jù)庫重新添加所有字段就能夠了。