Delphi中Undac控制項串連MYSQL資料庫問題總結

來源:互聯網
上載者:User

標籤:delphi   資料庫   控制項   編碼   編碼方式   

1、資料庫掛到cxgrid上,中文顯示不正確

我調試了好長時間,懷疑是編碼問題,mysql的編碼方式我都試過了,都不可以。
解決問題過程:
(1)、在dos系統下進入mysql資料庫輸入show variables like ‘char%’;

我考慮可能是character_set_connection的編碼有問題,於是開始設定它的編碼方式,但是,這個編碼方式重新啟動資料庫還是原來的編碼方式。當然可以mysql資料庫設定檔中設定,但是不是這個原因。
(2)、考慮到可能是資料庫字元集編碼方式問題,採用HeidiSQL軟體轉換編碼方式。

其實mysql通常都是用utf8編碼,不用改變,所以失敗了。
(3)、換個角度,如果不是mysql的問題就是Undac控制項的問題了,到底是什麼控制項呢?當然是從串連資料庫控制項開始找了。

雙擊它,
選擇Options,裡面第一項Charset設定成GB2312,這樣就搞定了。
cxgrid 漢字顯示解決了。

2、使用Undac執行mysql資料庫語句

下面這句話用Undac控制項執行,會報語法錯誤。
錯誤類型1:Unknown column ‘rownum’ in ‘where clause’
錯誤類型2:#42S22Unknown column ‘2005’

update tb_zichan set Logliushui="20150318",JieChuRen="李二狗",JieChuRenDianHua="18791983947",JieChuWeiZhi="537",YuGuiHuanShiJian="2015-03-18",JingShouRen="糖糖",JieChuShiJian="2015-04-28 18:33:42",JieChuRenEMail="",JieChuZhuangTai="借出" where SheBeiBianHao="20050408"。

嘗試了好多次,最後發現原來Undac控制項執行mysql語句,字串欄位不能用雙引號,只能用單引號。例如下面語句。

UPDATE tb_zichan SET Logliushui =‘20150318‘,JieChuRen =‘人‘,JieChuRenDianHua =‘18791983947‘,JieChuWeiZhi =‘537‘,YuGuiHuanShiJian =‘2015-03-18‘,JingShouRen =‘dhfjh‘,JieChuShiJian =‘2015-04-28 18:33:42‘,JieChuRenEMail =‘‘,JieChuZhuangTai =‘hfudgf‘ where SheBeiBianHao =‘20050408‘
3、判斷mysql資料庫表中的資料是否為空白,或設定某個欄位資料為空白如下面語句
UPDATE tb_zichan SET Logliushui =‘20150318‘,JieChuRen =‘人‘,JieChuRenDianHua =null,JieChuWeiZhi =‘537‘,YuGuiHuanShiJian =‘2015-03-18‘,JingShouRen =‘dhfjh‘,JieChuShiJian =‘2015-04-28 18:33:42‘,JieChuRenEMail =‘‘,JieChuZhuangTai =‘hfudgf‘ where SheBeiBianHao is null
4、如果遇到表中的某個欄位類型不符錯誤

前提是使用資料庫時改變了資料庫中的欄位類型時,運行Undac中的表會報表中欄位與資料庫欄位不匹配錯誤。
通常將Undac中的table中的fields雙擊開啟,刪除裡面的所有欄位,然後串連資料庫重新添加所有欄位就可以了。

Delphi中Undac控制項串連MYSQL資料庫問題總結

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.