日期:2014-05-17  浏览次数:20413 次

使用C#更新资料表的问题,特殊字元无法显示
请问我要把一段有\n与"的文字写到资料表,如下(中间省去一些code)

[C#]

string str = "AAA\nBBB\n\"CCC\"";

sqltxt = "UPDATE TB SET Field1 = '" + str + "';";

sqlcmd.CommandText = sqltxt;

但在资料表中结果却是AAABBB"CCC"

请问我哪里出错了呢?
SQL C# 換行

------解决方案--------------------
不要拼串 "UPDATE TB SET Field1 = '" + str + "';";
要用带参数的SQL  "UPDATE TB SET Field1 = @A;"; 
------解决方案--------------------
C# 和数据库解析特殊符号是不一样的。

如果数据库中要保存你所列的字段,写成这样就行。'AAA\n''BBB''CCC'

你说明一下你要到效果才能帮你。
------解决方案--------------------
强制格式化字符串:
比如:declare @a varchar(20) 
set @a=N'aklsadj\skdfjk'
------解决方案--------------------
在C#教科书里面明确的指出可以在定义String时前面加上@以防特殊符号被系统转义
String str=@"AAA\nBBB\n\"CCC\"";