2012-02-22 75 views
1

我有一些文字,如何将多行分隔符中的文本存储到数据库中?

line one \r\n 
line two \r\n 
line threee. 

在我的数据库,我有一列定义为text类型,然后我使用实体框架来映射该列,代码生成的实体框架是类型string

我可以成功地将该文本保存到数据库的列中。但是,从Management Studio中,我看不到这些行分隔符,当我复制值并粘贴到记事本时,它们已成为一行文本。

任何人都知道问题是什么?

谢谢。

+1

复制值从Management Studio来记事本和使用查询从列中读取数据是两回事。您可以尝试将其粘贴到Word。 – Bolu 2012-02-22 09:21:41

回答

0

当涉及到存储文本数据时,您应该坚持NVarchar(其中一个原因是它支持更多字符)。 继承人从MSDN的摘录:

“的ntext,文本和图像数据类型将在Microsoft SQL Server的未来版本中删除,避免在新的开发工作,这些数据类型,并计划目前修改应用程序。使用它们。使用nvarchar(max),varchar(max)和varbinary(max)代替“

更多信息:

+0

-1部分正确,但与问题无关。存储在数据库中时使用HTML编码或URL编码根本不是一个好主意。 'HttpUtility'类甚至没有任何称为'Encode'和'Decode'的方法。 – Guffa 2012-02-22 11:02:49

+0

thx,我编辑了回复。 – 2012-02-22 11:12:29

+0

这样更好,但它仍然无关紧要。 – Guffa 2012-02-22 11:35:27

0

这可能很简单是管理工作室的问题。尝试从C#查询数据库并打印该字段的值。如果CRLF在那里,你会立即看到。

2

问题在于Management Studio不支持所有字符。它将复制值时删除换行符。

如果从电网转换结果为文本(查询 - >结果为 - >结果以文字,或CTRL + 牛逼),并选择价值,你会看到文本出来作为独立的线。

相关问题