我必须在 SQL Server 2005 中使用数据类型为 TEXT 的列来存储我需要使用换行符和制表符格式化的字符串。
在调用存储过程之前,我添加了一个断点来查看我在 VS2010 的文本可视化器中发送的文本,并且所有格式都是我想要的,但是当我进入数据库中的单元格时,和复制出数据,格式丢失。据我所见,每次字符串中出现换行符或制表符时,文本数据类型都会用空格替换它。对于换行符,我使用 vbNewline,对于制表符,我使用 vbTab 或 Xml.Formatting.Indented
值得注意的是,我不能更改列的数据类型,因为它只是一个我必须用于特定目的的表。
关于使用文本数据类型在数据库中正确格式化此格式的任何建议?
例子:
表示表的 SQL 表脚本:
CREATE TABLE [dbo].[FooLog](
[FooID] [int] IDENTITY(1,1) NOT NULL,
[FooInfo] [text] NULL )
字符串生成器代码:
Dim sb As New StringBuilder()
sb.AppendFormat("{0}{1}", "Some text", vbNewLine)
sb.AppendLine("Some foo bar data")
sb.AppendLine(String.Format("{0}data{1}{0}some more data", vbTab, vbNewLine))
Dim stringToStoreInFooInfo As String = sb.ToString()
存储在数据库中:
db.AddInParameter(cmd, "FooInfo", SqlDbType.Text, stringToStoreInFooInfo)
我现在没有用代码读回它...我用 Ctrl-C 将它复制到单元格中或右键单击“复制”