我必须在SQL Server 2005中使用具有TEXT数据类型的列来存储我需要用换行符和制表符来格式化的字符串,例如。TEXT的SQL Server数据类型不保持格式
在调用存储过程之前,我添加了一个断点来查看我在VS2010中的文本可视化器中发送的文本,并且所有格式都正是我想要的,但是当我将该单元放入数据库,并复制出数据,格式化会丢失。根据我所看到的,每次在字符串中出现换行符或制表符时,文本数据类型都会用空格替换它。对于换行符,我使用vbNewline和制表符我使用vbTab或Xml.Formatting.Indented
值得注意的是,我不能改变列的数据类型,因为它只是一个我必须使用的表一个特定的目的。
有关如何使用数据类型的文本在数据库中正确格式化的任何建议?
例:
SQL表脚本代表表格:
CREATE TABLE [dbo].[FooLog](
[FooID] [int] IDENTITY(1,1) NOT NULL,
[FooInfo] [text] NULL)
的StringBuilder代码:
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:
db.AddInParameter(cmd, "FooInfo", SqlDbType.Text, stringToStoreInFooInfo)
我不读它回来与c ode目前...我用Ctrl-C将它复制出单元格或右键单击“复制”
我建议你创建一个这样的小例子,然后发布它。只需要一个ID列和TEXT字段的表格,以及用于填充它并将其读回的简单代码。 –
你写过“当我走进数据库中的单元格,并复制出数据,格式化会丢失”。你如何“去细胞”,以及如何复制数据? – Diego
@Diego我去MSSQLMS,查询记录,突出显示的单元格,并使用Ctrl + C或右键单击“复制” – wakurth