我有一个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
换行符将被删除。我该如何避免这种情况?
答案 0 :(得分:0)
存储列的列类型是什么?如果是varchar或text,则将其更改为nvarchar / ntext。
如果其中任何一个不起作用,你可以简单地用/或类似的东西替换/ n但是它需要你在将字符串存储到数据库之前和将它添加回textarea之前更新字符串。这远非理想的解决方案,但它会起作用。