1

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

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

插入语句

INSERT INTO Comments (Comment) VALUES (@clientValue)

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

示范

SELECT 'abc\
def' AS ColumnResult; 

C# 命令片段

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();

执行这里的语句

运行上述语句,文本区域中的\换行符\n将被删除。我该如何避免这种情况?

4

1 回答 1

0

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

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

于 2013-05-17T09:05:53.370 回答