全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:2251
推到 Plurk!
推到 Facebook!

Delphi 和 MySQL

尚未結案
BorlandUser
中階會員


發表:148
回覆:217
積分:73
註冊:2004-02-19

發送簡訊給我
#1 引用回覆 回覆 發表時間:2004-04-16 00:54:11 IP:218.102.xxx.xxx 未訂閱
之前用DBGrid DataSource ClientSet SetProvider SQLQuery 終於show到的record出來,但有個問題是某些欄位在grid顯示時會顯示"varbyte"這個字...經過一番努力..原來是因為當我在mysql create database/table時,某些欄位用了varchar 後面加上了binary這一字,所以導致這個問題存在...雖然不寫binary的話就能解決問題,但由於如果沒有binary一字後,會對中文輸入或顯示出現問題...而令到我進退兩難,那麼我應該怎辦呢?有沒有人試過用dbexpress的sqlcientset和sqlserverprovider呢?是否會解決這問題呢? 有人能幫我嗎?
領航天使
站長


發表:12216
回覆:4186
積分:4084
註冊:2001-07-25

發送簡訊給我
#2 引用回覆 回覆 發表時間:2004-04-16 19:15:13 IP:192.168.xxx.xxx 未訂閱
引言: 之前用DBGrid DataSource ClientSet SetProvider SQLQuery 終於show到的record出來,但有個問題是某些欄位在grid顯示時會顯示"varbyte"這個字...經過一番努力..原來是因為當我在mysql create database/table時,某些欄位用了varchar 後面加上了binary這一字,所以導致這個問題存在...雖然不寫binary的話就能解決問題,但由於如果沒有binary一字後,會對中文輸入或顯示出現問題...而令到我進退兩難,那麼我應該怎辦呢?有沒有人試過用dbexpress的sqlcientset和sqlserverprovider呢?是否會解決這問題呢? 有人能幫我嗎?
我可以幫您! 1.參考這一篇http://delphi.ktop.com.tw/topic.php?TOPIC_ID=39265 就可以解決MYSQL中文的問題 2.我用ADO ADOQuery DBGrid並不會出現您說的問題 3.DBEXpress用在MYSQL好像問題很多,不建議使用 ~~~Delphi K.Top討論區站長~~~
------
~~~Delphi K.Top討論區站長~~~
BorlandUser
中階會員


發表:148
回覆:217
積分:73
註冊:2004-02-19

發送簡訊給我
#3 引用回覆 回覆 發表時間:2004-04-17 00:33:15 IP:218.103.xxx.xxx 未訂閱
請問站長大大,可否post一下你用的方法的source code with mysql database,我想研究.... 因為這個問題實在太困住我多天了...
領航天使
站長


發表:12216
回覆:4186
積分:4084
註冊:2001-07-25

發送簡訊給我
#4 引用回覆 回覆 發表時間:2004-04-17 10:57:04 IP:192.168.xxx.xxx 未訂閱
引言: 請問站長大大,可否post一下你用的方法的source code with mysql database,我想研究.... 因為這個問題實在太困住我多天了...
如果您在my.ini上加入BIG5語系的宣告 應該就可以不用在SQL語法中加入BINARY了 用ADO的方式沒特別的Source code 都是標準的元件拉一拉而已 ~~~Delphi K.Top討論區站長~~~
------
~~~Delphi K.Top討論區站長~~~
BorlandUser
中階會員


發表:148
回覆:217
積分:73
註冊:2004-02-19

發送簡訊給我
#5 引用回覆 回覆 發表時間:2004-04-18 12:19:54 IP:218.102.xxx.xxx 未訂閱
那麼我想問用ado和dpress有咩分別?為什麼ado較好呢?
BorlandUser
中階會員


發表:148
回覆:217
積分:73
註冊:2004-02-19

發送簡訊給我
#6 引用回覆 回覆 發表時間:2004-04-18 12:38:55 IP:218.102.xxx.xxx 未訂閱
不好意思,我是delphi新手,但我有些事情不太明白,請指教一下: 我有個同事,它是用一個array去找尋sql select出來的結果,然後畫在draw grid上,它說這樣就可以減少dbgrid/tsqlquery 一直和database的連結,而且也不會做成data locking?其實會嗎?因為當用了arry去記錄record,那麼其它人就能夠寫入record,或是更新record,如果用grid tsqlquery等等component,那就不會被之前某些人在search record時而導致data locking,真的嗎?可否解釋一下呢? 另外我不太明白什麼my.ini file改成default-character-set=big5,之後就不用再create table到加上binary,那個my.ini是在那裏的?自己做嗎?裏面要有什麼資料呢?如果放在英文windows下,會不會有影響? 看過你少許之前提供的link,你說用了ini就會有問題,話存不到BLOB欄位,請問這個是什麼欄位?mysql有嗎?如果我不用這種欄位,是否就會沒有事呢? 用ado和dpexpress的分別是什麼?當我完成後安裝給客戶使用有什麼分別?因為dpexress只雖copy兩個dll檔就可以用了.....用ado雖要什麼條件呢? 因為dpexress好像是dephi專for mysql而設的....... 對不起問題太多,但請盡快回覆,因為我正在要選擇用什麼方法...不然就不能交貨...一萬句多謝
conundrum
尊榮會員


發表:893
回覆:1272
積分:643
註冊:2004-01-06

發送簡訊給我
#7 引用回覆 回覆 發表時間:2004-04-18 14:00:33 IP:61.221.xxx.xxx 未訂閱
ADO 與 dpexress 建議使用ADO 至於dpexress雖為 寶籃 專用確問題多多 自己在站內會有許多討論 my.ini win2000 放至於c:\winnt\system32 xp , 2003 放至於c:\windows\system32 不過有些xp pro版本會在c:\winnt\system32 win98se 放至c:\windows\system 另外我不太明白什麼my.ini file改成default-character-set=big5,之後就不用再create table到加上binary,那個my.ini是在那裏的?自己做嗎?裏面要有什麼資料呢?如果放在英文windows下,會不會有影響 那你在英文系統下用big5會不會有怪怪的事 如有就有 如果你開發系統在繁體但確要執行於英文版 最好國別設定與時間的設定 最好先確定一下 如那 yy mm 等時間問題 不然跑起來可能會很多意外bug 當你安裝mysql後 搜索一下my.ini不就知道了 有問題就換回預設值試看看 看來你的這一仗 可能還有許多要加強的觀念 唯有快吸收正確資訊
BorlandUser
中階會員


發表:148
回覆:217
積分:73
註冊:2004-02-19

發送簡訊給我
#8 引用回覆 回覆 發表時間:2004-04-18 14:16:58 IP:219.76.xxx.xxx 未訂閱
感謝你的回覆,我想問下加default-character-set=big5這句在my.ini的問題 我已經找到了my.ini,但是否加入這句default-character-set=big5便可以呢?請問要在那一個位置加入呢?有沒有其它tag或其它東西要一起加入呢? blog欄位是什麼?不用的話,應該對這句default-character-set=big5沒有什麼問題嗎?
conundrum
尊榮會員


發表:893
回覆:1272
積分:643
註冊:2004-01-06

發送簡訊給我
#9 引用回覆 回覆 發表時間:2004-04-18 15:27:53 IP:61.64.xxx.xxx 未訂閱
my.ini 一般預設內容  
 #This File was made using the WinMySQLAdmin 1.3 Tool    #25/8/2003 8:50:22        #Uncomment or Add only the keys that you know how works.    #Read the MySQL Manual for instructions    [mysqld]
default-character-set=big5
basedir=C:/AppServ/mysql
#bind-address=
datadir=C:/AppServ/mysql/data
#language=C:/AppServ/mysql/share/your language directory
#slow query log#=
#tmpdir#=
#port=3306
#set-variable=key_buffer=16M
[client]
default-character-set=big5
[WinMySQLadmin]
user=root
password=
Server=C:/AppServ/mysql/bin/mysqld-nt.exe    不用的就用#註解把
至於big5是因為文字判別時會出現判斷錯誤 許 蓋 功 雙字元問題 此乃big5編碼問題 台灣的政府無能表示 喝喝 台灣目前仍無 統一的字碼可適用於其他語系 反觀 大陸 已完成 字碼統一 說台灣的資訊比別人強 個人看 有可能是 自欺欺人 是多少年前的事 喝喝 台灣人可別又說 電腦是外國人發明的話 這只會笑死國際資訊人 大陸人可以做到 為何領先的台灣做不到
BorlandUser
中階會員


發表:148
回覆:217
積分:73
註冊:2004-02-19

發送簡訊給我
#10 引用回覆 回覆 發表時間:2004-04-18 15:50:56 IP:218.102.xxx.xxx 未訂閱
default-character-set=big5 這句意思是否指輸入中文時,要以big5記錄呢?因為聽說mysql係用ansi,係用6bites去儲中文字,所以導致有咁的問題..
conundrum
尊榮會員


發表:893
回覆:1272
積分:643
註冊:2004-01-06

發送簡訊給我
#11 引用回覆 回覆 發表時間:2004-04-18 15:57:07 IP:61.64.xxx.xxx 未訂閱
default-character-set=big5 這句意思是否指輸入中文時,要以big5記錄 是的 不過如天使那篇的問題 你就要如 Linux版主的方式 解決
BorlandUser
中階會員


發表:148
回覆:217
積分:73
註冊:2004-02-19

發送簡訊給我
#12 引用回覆 回覆 發表時間:2004-04-18 16:31:04 IP:218.102.xxx.xxx 未訂閱
"是的 不過如天使那篇的問題 你就要如 Linux版主的方式 解決" 什麼意思?
BorlandUser
中階會員


發表:148
回覆:217
積分:73
註冊:2004-02-19

發送簡訊給我
#13 引用回覆 回覆 發表時間:2004-04-18 16:35:43 IP:218.102.xxx.xxx 未訂閱
明白了..你是指領航天使的blog問題.... 還有關於用了dbgrid去搵一些record,是否會導致其它user如果去選這個table時進行修改或刪除,而有所影響的
BorlandUser
中階會員


發表:148
回覆:217
積分:73
註冊:2004-02-19

發送簡訊給我
#14 引用回覆 回覆 發表時間:2004-04-18 20:00:17 IP:218.102.xxx.xxx 未訂閱
我試過加了那句後,為什麼還是不行,我是用dbexpress的..謝
conundrum
尊榮會員


發表:893
回覆:1272
積分:643
註冊:2004-01-06

發送簡訊給我
#15 引用回覆 回覆 發表時間:2004-04-18 20:03:21 IP:61.64.xxx.xxx 未訂閱
dbexpress 問題多多 自求多福把
BorlandUser
中階會員


發表:148
回覆:217
積分:73
註冊:2004-02-19

發送簡訊給我
#16 引用回覆 回覆 發表時間:2004-04-18 20:06:45 IP:218.102.xxx.xxx 未訂閱
我想問下dbexpress有的咩問題? 還有聽過ado係要用active x架wo.. 而dbexpress係vcl,好似係好過active x架wo
BorlandUser
中階會員


發表:148
回覆:217
積分:73
註冊:2004-02-19

發送簡訊給我
#17 引用回覆 回覆 發表時間:2004-04-18 20:12:39 IP:218.102.xxx.xxx 未訂閱
點解我打"成功"就唔得,但其它中文字就得?
BorlandUser
中階會員


發表:148
回覆:217
積分:73
註冊:2004-02-19

發送簡訊給我
#18 引用回覆 回覆 發表時間:2004-04-18 20:19:28 IP:218.102.xxx.xxx 未訂閱
ADOQuery1.SQL.Add('Insert Into User (Login_ID) Values ( ''' a ''')'); 這是那句insert statement,我改用ado都是一樣
conundrum
尊榮會員


發表:893
回覆:1272
積分:643
註冊:2004-01-06

發送簡訊給我
#19 引用回覆 回覆 發表時間:2004-04-18 20:59:40 IP:61.64.xxx.xxx 未訂閱
zeosdbo 找一下此vcl 別再用mysql ODBC 驅動方式聯接 妳的odbc 3306 的預設port有ok嗎? 你的問題 我只能說 我功力不夠 問問天使把
領航天使
站長


發表:12216
回覆:4186
積分:4084
註冊:2001-07-25

發送簡訊給我
#20 引用回覆 回覆 發表時間:2004-04-19 08:16:30 IP:192.168.xxx.xxx 未訂閱
1.MY.INI在不同作業系統,所存放的位置也會不同 2.加上BIG5的宣告,就可以順利查詢BIG5的中文,我想與存入資料庫的格式無關 3.我用ADO都可以正常存寫中文字,建議您改用ADO MYODBC比較穩定 4.dbexpress雖然安裝方便,但是與MYSQL連接我還沒是成功過,都有一些問題 ~~~Delphi K.Top討論區站長~~~
------
~~~Delphi K.Top討論區站長~~~
fadichen
初階會員


發表:29
回覆:68
積分:29
註冊:2003-09-11

發送簡訊給我
#21 引用回覆 回覆 發表時間:2004-04-20 00:50:40 IP:61.230.xxx.xxx 未訂閱
>DBEXpress用在MYSQL好像問題很多,不建議使用 這個訴 borland driver 的問題吧! 有人用網路上購買的 driver dbexpress 是沒有問題的
fadichen
初階會員


發表:29
回覆:68
積分:29
註冊:2003-09-11

發送簡訊給我
#22 引用回覆 回覆 發表時間:2004-04-20 01:02:34 IP:61.230.xxx.xxx 未訂閱
>大陸人可以做到 為何領先的台灣做不到 >UNICODE 編碼的問題 又是另一章 >台灣 做不到的 笑話 >台灣第一 哈哈哈哈哈 去看以下這個網站的有關 delphi 的大陸書籍, 再看台灣的有關 delphi書籍, 就知道什麼台灣第一? 本土化都是政客奪權的口號, 至於你家編碼是你家的事! http://www.yeswedo.com.tw/index/index.asp
BorlandUser
中階會員


發表:148
回覆:217
積分:73
註冊:2004-02-19

發送簡訊給我
#23 引用回覆 回覆 發表時間:2004-04-20 11:21:20 IP:218.102.xxx.xxx 未訂閱
解決了!謝
conundrum
尊榮會員


發表:893
回覆:1272
積分:643
註冊:2004-01-06

發送簡訊給我
#24 引用回覆 回覆 發表時間:2004-04-20 12:20:32 IP:61.221.xxx.xxx 未訂閱
BorlandUser 會員 你好 可以問問 你解決之道嗎 ? 分享分享
BorlandUser
中階會員


發表:148
回覆:217
積分:73
註冊:2004-02-19

發送簡訊給我
#25 引用回覆 回覆 發表時間:2004-04-20 12:26:47 IP:218.102.xxx.xxx 未訂閱
正如你們之前所講,只要加character-set = big5就可以,但我試著也不能夠,原因為是要reboot電腦,當我修改了ini file後,郤不能做到如期效果,後來我再新開啟電腦後,便發覺沒有了這個問題... ~"~ 我又開了一個新post,可以的話,請幫我解答,謝
conundrum
尊榮會員


發表:893
回覆:1272
積分:643
註冊:2004-01-06

發送簡訊給我
#26 引用回覆 回覆 發表時間:2004-04-20 19:31:16 IP:61.221.xxx.xxx 未訂閱
只要加character-set = big5就可以,但我試著也不能夠,原因為是要reboot電腦 喔 忘記說明 是mysql要再重啟動啦 不一定要系統重開
johnber
一般會員


發表:2
回覆:9
積分:2
註冊:2003-09-04

發送簡訊給我
#27 引用回覆 回覆 發表時間:2005-01-03 23:00:03 IP:61.66.xxx.xxx 未訂閱
對不起, 插花請教一下: 如果沒有權限設定 server 的 my.ini 的情況下(我是申請 web hosting), server 採用的字集是 utf8, 我 client 端 delphi 要如何設定才能正確讀寫資料, 而不會出現亂碼? 謝謝
系統時間:2024-11-25 8:19:03
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!