2010-03-17 55 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