C#Textarea值与SQL Server中的换行保存

时间:2013-05-17 05:17:32

标签: c# sql-server tsql textarea

我有一个insert语句,它从文本区域获取原始文本并存储它。我们只允许编辑相同的值而不显示它们。

在插入过程中,SQL Server会出于某种原因删除换行符和斜杠[abc\\ndef]。那么C#的解决方案是什么呢?

插入声明

INSERT INTO Comments (Comment) VALUES (@clientValue)

其中comment是列名,@ clientValue在Visual Studio调试器中查看时包含字符串abc\\ndef

示范

SELECT 'abc\
def' AS ColumnResult; 

C#Command Snippet

SqlCommand cmd = new SqlCommand();
cmd.CommandText = "INSERT INTO Comments(Comment) VALUES (@clientValue)"
cmd.Connection = conn;
SqlParameter param  = new SqlParameter();
param.ParameterName = "@clientValue";
param.Value         = txtComment.Text;
cmd.Parameters.Add(param);
conn.open();

执行此处的声明

在上面的语句中运行,来自textarea的\\n换行符将被删除。我该如何避免这种情况?

1 个答案:

答案 0 :(得分:0)

存储列的列类型是什么?如果是varchar或text,则将其更改为nvarchar / ntext。

如果其中任何一个不起作用,你可以简单地用/或类似的东西替换/ n但是它需要你在将字符串存储到数据库之前和将它添加回textarea之前更新字符串。这远非理想的解决方案,但它会起作用。