将大数据存储在字符串中

时间:2010-03-17 06:47:15

标签: c#

我试图在字符串数据类型中存储超过255个字符的大数据,但它在255之后截断。我怎么能实现这个基本上我需要将这些数据传递给数据库

6 个答案:

答案 0 :(得分:6)

C#字符串没有任何特定的字符限制。但是,您要写入的数据库列可能有限制。如果要存储大量数据,则应使用BLOB列而不是普通的varchar类型。

答案 1 :(得分:4)

好吧,听起来你有几种不同的技术 - Excel,XML,数据库等。尝试一次解决一个问题。首先从Excel中读取数据,并确保无需截断即可完成。

编写一个小型控制台应用程序,它将读取该值,然后将其写入控制台 - 及其长度。如果可行,您知道问题不在Excel中。

接下来,您可以编写一个带有硬编码输入数据的小型控制台应用程序(这样您就不需要继续使用Excel的互操作)并从中编写XML,或者您的下一个阶段。

基本上,考虑一个大问题(“当我从Excel读取数据并将其写入数据库时​​,它会截断长值”)并将其拆分为越来越小的问题,直到找到错误为止。

答案 2 :(得分:3)

字符串类型不会将字符串限制为255个字符。您的数据库列必须是255个字符。

答案 3 :(得分:2)

我知道c#字符串可以容纳比这更长的数据。如果在提交到DB时发生截断,请检查ur Db字段

上的长度约束

答案 4 :(得分:2)

StringBuilder class

就像他们说字符串类不受限制,但你可以为大字符串做这个。我觉得它能更好地处理它们。

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

答案 5 :(得分:0)

问题出在Excel部分; .Character限制为255个字符。

要从形状中读取完整文本,请使用以下VBA语法:

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