【发布时间】:2015-01-13 03:42:28
【问题描述】:
我有以下填充下拉列表的 C# 代码:
public void PopulateInsurance()
{
SqlCommand cmd = new SqlCommand("GetInfo", new SqlConnection(ConfigurationManager.AppSettings["connectionstr"]));
cmd.Connection.Open();
SqlDataReader ddles = default(SqlDataReader);
ddles = cmd.ExecuteReader();
ddlI.Items.Clear();
ddlI.DataSource = ddles;
ddlI.DataValueField = "id";
ddlI.DataTextField = "title";
ddlI.DataBind();
//set the default value for the drop down
ListItem Item = new ListItem();
Item.Text = "Any";
Item.Value = "0";
ddlInsurance.Items.Insert(0, Item);
cmd.Connection.Close();
cmd.Connection.Dispose();
}
SQL 表中的一行具有以下值:
id title
9 Worker'
下拉列表显示如上所示的标题(' -> 其中一个单引号')
如何修改代码,使其采用 ' 或任何其他特殊字符并将其取消转义以显示该字符,在此示例中为 '。
【问题讨论】:
-
您的数据库中根本不应该有这些字符。你的逃跑在别处被打破了。
-
查看 Decoding all HTML Entities 并了解如何使用 SqlDataReader。
-
我们遇到了类似的问题(某人的姓有撇号)。当我们将数据存储在数据库中时,我们使用单引号对其进行转义。例如:奥康纳。
标签: c# sql sql-server