【发布时间】:2008-11-11 04:22:15
【问题描述】:
请告诉我如何将带有特殊字符的字符串保存到 DB。特殊字符可能包含单个 quotes/double quotes 等。我正在使用带有 C# 的 ASP.NET
【问题讨论】:
标签: c# asp.net ado.net special-characters
请告诉我如何将带有特殊字符的字符串保存到 DB。特殊字符可能包含单个 quotes/double quotes 等。我正在使用带有 C# 的 ASP.NET
【问题讨论】:
标签: c# asp.net ado.net special-characters
使用参数化查询。
http://aspnet101.com/aspnet101/tutorials.aspx?id=1
在渲染到客户端时,还应该使用 Server.HtmlEncode() 将 HTML 中具有特殊含义的字符转换为数字字符引用。
【讨论】:
没有太多细节很难回答。但通常最好的选择是参数化查询。
【讨论】:
好的。尽管我保存在数据库中。我需要将其显示回文本框。然后页面被打破。例如: 我已将学生姓名保存为 Ani"s 并且当我显示 gthis
如何解决这个问题?
【讨论】:
您在写出值时是否对其进行了编码? (Server.HtmlEncode(值))
【讨论】:
Using (SqlConnection conn = new SqlConnection(connstr))
{
Using (SqlCommand command = new SqlCommand("INSERT INTO FOO (col) VALUES (@arg)"))
{
command.Connection = conn;
command.Parameters.AddWithValue("@arg",SpecialCharsString);
command.ExecuteNonQuery();
}
}
读出来根本不应该破坏你的输出,如果是的话,它不是数据库代码在做它。
【讨论】:
(Server.HtmlEncode(value)) 成功了!
【讨论】: