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

BDE處理字元長度超過256的問題??

答題得分者是:jieshu
goat
高階會員


發表:53
回覆:130
積分:134
註冊:2002-06-03

發送簡訊給我
#1 引用回覆 回覆 發表時間:2002-09-12 21:44:08 IP:210.85.xxx.xxx 未訂閱
請教各位高手 當資料欄位(varchar)長度定義超過256的時候 存到後端會被截掉的問題 不知道大家有沒有遇到這樣的情形呢? BDE 511 512都測試過了 一樣會發生 BDE的設定如下 BLOB SIZE=1000 BLOBS TO CACHE=65535 DATABASE NAME= ENABLE BCD=TRUE ENABLE SCHEMA CACHE=TRUE MAX ROWS=-1 LANGDRIVER= SCHEMA CACHE DIR='c:\temp' SCHEMA CACHE SIZE=32 SCHEMA CACHE TIME=-1 SERVER NAME= SQLPASSTHRU MODE=SHARED NOAUTOCOMMIT SQLQRYMODE=SERVER TDS PACKET SIZE=65535 USER NAME= Database : MS SQLServer 謝謝!!
hagar
版主


發表:143
回覆:4056
積分:4445
註冊:2002-04-14

發送簡訊給我
#2 引用回覆 回覆 發表時間:2002-09-13 07:38:46 IP:211.22.xxx.xxx 未訂閱
看您使用的 Database 是 MS SQL Server 小弟查了一下, 說 varchar 型態最多可以存到 8000 個字元 因此不應該有超過 256 字元會截掉的情形發生 檢查一下, 欄位是不是設成 varchar(256) 或用 FieldEditor 檢查 該欄位的 size 屬性是不是設成 256 了。
jieshu
版主


發表:42
回覆:894
積分:745
註冊:2002-04-15

發送簡訊給我
#3 引用回覆 回覆 發表時間:2002-09-13 10:41:12 IP:203.204.xxx.xxx 未訂閱
引言: 請教各位高手 當資料欄位(varchar)長度定義超過256的時候 存到後端會被截掉的問題 不知道大家有沒有遇到這樣的情形呢? BDE 511 512都測試過了 Database : MS SQLServer 謝謝!!
這是BDE不支援MS SQL Server7以後版本新功能的關係,改用ODBC或ADO連即可正常。
人生有夢,逐夢而行。 人若為善,福雖未至,禍已遠離。 人若為惡,禍雖未至,福已遠離。 http://www.taconet.com.tw/jieshu/
------
人生有夢,逐夢而行
人若為善,福雖未至,禍已遠離
人若為惡,禍雖未至,福已遠離
http://www.taconet.com.tw/jieshu/
goat
高階會員


發表:53
回覆:130
積分:134
註冊:2002-06-03

發送簡訊給我
#4 引用回覆 回覆 發表時間:2002-09-13 12:46:16 IP:211.23.xxx.xxx 未訂閱
這是BDE不支援MS SQL Server7以後版本新功能的關係,改用ODBC或ADO連即可正常。 jieshu 版大: 您的意思是說只要我使用BDE連線 字元長度超過256的都一定會被截斷 這是BDE本身的先天限制嚕.... PS.也感謝hagar版大的回覆!!
andersonhsieh
版主


發表:33
回覆:531
積分:439
註冊:2002-06-10

發送簡訊給我
#5 引用回覆 回覆 發表時間:2002-09-13 13:07:21 IP:211.20.xxx.xxx 未訂閱
可否說明一下你是如何去新增或修改資料的是自己下SQL去INSERT UPDATE或是利用DATASET.EDIT或DATASET.APPEND @@~~飛翔在天際的精靈~~@@
------
@@~~飛翔在天際的精靈~~@@
jieshu
版主


發表:42
回覆:894
積分:745
註冊:2002-04-15

發送簡訊給我
#6 引用回覆 回覆 發表時間:2002-09-13 13:13:07 IP:203.204.xxx.xxx 未訂閱
引言: 這是BDE不支援MS SQL Server7以後版本新功能的關係,改用ODBC或ADO連即可正常。 jieshu 版大: 您的意思是說只要我使用BDE連線 字元長度超過256的都一定會被截斷 這是BDE本身的先天限制嚕.... PS.也感謝hagar版大的回覆!!
沒錯!我也遇到過這個問題,改用ODBC & BDE即可。
人生有夢,逐夢而行。 人若為善,福雖未至,禍已遠離。 人若為惡,禍雖未至,福已遠離。 http://www.taconet.com.tw/jieshu/
------
人生有夢,逐夢而行
人若為善,福雖未至,禍已遠離
人若為惡,禍雖未至,福已遠離
http://www.taconet.com.tw/jieshu/
danny
版主


發表:100
回覆:522
積分:595
註冊:2002-03-11

發送簡訊給我
#7 引用回覆 回覆 發表時間:2002-09-13 15:03:31 IP:210.202.xxx.xxx 未訂閱
引言: 請教各位高手 當資料欄位(varchar)長度定義超過256的時候 存到後端會被截掉的問題
這個問題您也許可以用
FStream := TMemoryStream.Create;
try
  TBlobField(Query1.FieldByName('FIELD_NAME')).SaveToStream(FStream );
及
  TBlobField(Query1.FieldByName('FIELD_NAME')).LoadFromStream(FStream );
finally
  FStream.Free;
end;
解決這問題. 我之前有一個欄位有 512 Byte 是用此方法解決的.
------
將問題盡快結案也是一種禮貌!
5707
一般會員


發表:0
回覆:1
積分:0
註冊:2002-10-03

發送簡訊給我
#8 引用回覆 回覆 發表時間:2002-10-03 15:39:09 IP:61.222.xxx.xxx 未訂閱
用SQL2000 TEXT的資料型態解決 林俊萍
------
林俊萍
系統時間:2024-05-08 5:48:30
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!