2010-03-17 54 views
-3

我試圖超過255個字符存儲大量的數據在一個字符串數據類型,但它截斷255.我怎樣才能實現這一目標基本上我需要這個數據傳遞到數據庫存儲串大數據

回答

3

string類型後不會將字符串限制爲255個字符。您的數據庫列必須是255個字符。

6

C#字符沒有任何特殊字符的限制。但是,您正在寫入的數據庫列可能有限制。如果要存儲大量數據,則應該使用BLOB列而不是普通的varchar類型。

+0

,但是當我從Excel閱讀它,並試圖將其寫入到XML只有255個字符是用XML編寫 – Sathish 2010-03-17 06:51:41

+0

多少你是否從excel中讀取?難道這是每個單元格的極限值? – TomTom 2010-03-17 06:52:37

+0

其實我正在閱讀Excel文本框形狀控制 Worksheet.Shapes.Item(「Shape1」).TextFrame.Characters(1,Type.Missing).Text – Sathish 2010-03-17 06:55:44

2

我知道C#字符串可以容納比這更長的數據。如果commiting到DB發生截斷,檢查長度約束烏爾數據庫字段

2

StringBuilder class

就像他們說的串類不限,但你可以爲大型字符串做到這一點。我覺得它可以更好地處理它們。

StringBuilder sb = new StringBuilder(); 
sb.append("Some text..."); 
sb.append("more text..."); 
sb.append("even more text!"); 
sb.toString(); 
4

好吧,這聽起來像你有幾種不同的技術參與 - 的Excel,XML,數據庫等嘗試一次只是一個解決。首先從Excel中讀取數據,並確保您可以在不截斷的情況下執行此操作。

寫一個小控制檯應用程序,將讀出的值,然後將其寫入控制檯 - 和它的長度。如果可行,你知道問題不在Excel中。

接下來,您可以編寫帶有硬編碼的輸入數據的小控制檯應用程序(所以你不需要使用互操作與Excel保持)和寫入的XML,或任何你下一階段。

從根本上來說,考慮一個大問題(「當我從Excel讀取數據並將其寫入數據庫時​​,它會截斷長值」),並將其分成更小和更小的問題,直到發現問題爲止。

+2

@Downvoter:小心給個理由? – 2010-07-27 07:15:16

0

問題就出在Excel的一部分; .Character有255個字符的限制。

要讀取的形狀完整的文本下面的VBA語法會做:

Worksheets("YourSheet").Shapes("Shape1").OLEFormat.Object.Text