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

存取NTEXT欄位的問題

尚未結案
dannynice
一般會員


發表:12
回覆:19
積分:6
註冊:2003-07-25

發送簡訊給我
#1 引用回覆 回覆 發表時間:2004-01-07 21:25:11 IP:211.76.xxx.xxx 未訂閱
請教各位高手 小弟我有筆資料大於10000個字要存入SQL Server 2000中結果會出現字串資料右側被截的錯誤,如果存入的字數小於8000就沒有問題,請問有什麼方式可以處理,我的環境是win2000 pro BCC6.0 指令如下 SeekTXTCommand->CommandText="insert into TELNtext(Ntext)value((:Telntext)); ADOCommand->Parameters->ParamByName("ntext")->Value=(Variant)SaveDataValue[10]; 謝謝 發表人 - Mickey 於 2004/01/07 22:12:43
James
高階會員


發表:10
回覆:290
積分:220
註冊:2002-07-25

發送簡訊給我
#2 引用回覆 回覆 發表時間:2004-01-07 21:46:34 IP:218.162.xxx.xxx 未訂閱
因為 MSSQL Char 的大小限制是 8K , 因此你可能要透過其他函數來 寫 Text 型態的欄位 !
dannynice
一般會員


發表:12
回覆:19
積分:6
註冊:2003-07-25

發送簡訊給我
#3 引用回覆 回覆 發表時間:2004-01-07 22:27:13 IP:211.76.xxx.xxx 未訂閱
James 您好感謝您的回答 可是TEXT的資料不是可以存入2,147,483,647個字元怎麼會只有一萬個字元就存不進去了,還有您說要使用其他的函數,不知有什麼其他的函數可以使用可以存取TEXT的資料 謝謝
James
高階會員


發表:10
回覆:290
積分:220
註冊:2002-07-25

發送簡訊給我
#4 引用回覆 回覆 發表時間:2004-01-08 01:12:21 IP:218.162.xxx.xxx 未訂閱
你可能要攔一下 SQL , 你應該會看到類似的指令
 exec sp_executesql N'insert into TABLE1 (A, B) values (@P1 , @P2 )', N'@P1 varchar(10),@P2 text', '010658812', '010524078 
0123'
你看看是不是你的 nText 型態欄位透過 ADOCommand 存入的時候他是轉成 char or varchar , 如果是轉成那個話 , 就可能是會受到 MSSQL 的限制, 因為那兩個型態的長度是 8000 , 因為我用 Delphi 的環境下測試是沒有問 題的 , 不知道是不是 BCC 在封裝的時候哪裡出了問題了....
dannynice
一般會員


發表:12
回覆:19
積分:6
註冊:2003-07-25

發送簡訊給我
#5 引用回覆 回覆 發表時間:2004-01-08 01:59:14 IP:211.76.xxx.xxx 未訂閱
James 您好 可否請您貼上Delphi的測試碼,讓我參考,您是用什麼型態存入的或是用其他的元件謝謝您
James
高階會員


發表:10
回覆:290
積分:220
註冊:2002-07-25

發送簡訊給我
#6 引用回覆 回覆 發表時間:2004-01-08 09:36:32 IP:61.218.xxx.xxx 未訂閱
糟糕, 我測試完就砍掉程式了... :P 基本上我建立一個 Table ( Table1 ) 有兩個欄位, 其中 B 我分別用 Text 和 NText測試過 ,而程式方面 ,我是利用 TAdodataset 和 TAdoCommand 分 別測試直接透過填入欄位值 ,讓 TAdodataset 去組 SQL異動資料庫以及利用 TAdocommand ,放入 'insert into Table1 values (:A , :B )' , 利用填入 Parameter 的方式來異動資料庫, 這兩個方式都是沒有問題的 !! 但是因為你說的狀況是你存入8K 以下就沒有問題, 而正式MSSQL Char 型態 欄位的大小限制 ,因此我想可能是欄位型態轉換的時候可能你的指令轉成的 是 char or varchar ,所以建議您利用SQL Profiler 去攔 SQL 指令 ,我想 問題就容易找到了 !!
dannynice
一般會員


發表:12
回覆:19
積分:6
註冊:2003-07-25

發送簡訊給我
#7 引用回覆 回覆 發表時間:2004-01-08 18:07:14 IP:211.76.xxx.xxx 未訂閱
非常感謝謝您的回答 我的問題已經決解了,只要直接在COMMAND下達指令就可以存入了不需再有其他的轉換,謝謝您囉
系統時間:2024-04-16 16:59:09
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!