如何从数据集中去掉单引号?

How do I get rid of single quotes from a dataset?

我有以下代码填充用于填充树视图中节点的数据集:

try
{
    SqlCommand cmd2 = new SqlCommand("SELECT [ACCT_GRP], [ACCT_GRP_PK] FROM [ACCT_GRP_LIST] " + 
    "ORDER BY [ACCT_GRP] ASC", con4);
    SqlDataAdapter da = new SqlDataAdapter(cmd2);
    DataSet PrSet = new DataSet();

    da.Fill(PrSet, "ACCT_GRP");   
    TreeViewAccts.Nodes.Clear();
    foreach (DataRow dr in PrSet.Tables[0].Rows)
    {
        TreeNode tnParent = new TreeNode();
        tnParent.Text = dr["ACCT_GRP"].ToString();
        tnParent.Value = dr["ACCT_GRP_PK"].ToString();
        tnParent.PopulateOnDemand = true;
        tnParent.SelectAction = TreeNodeSelectAction.SelectExpand;
        TreeViewAccts.Nodes.Add(tnParent);
        FillTree_Child(tnParent, tnParent.Text.ToString());
    }
}
catch (Exception ae)
{
    Response.Write(ae.Message);
    //ErrorLogging.WriteToEventLog(ae);
}

当然,如果我的 ACCT_GRP 名字中有一个撇号(即 "John's Bakery"),它会抛出一个错误。有谁知道如何解决这一问题?我想我需要一个 Replace 命令,但我不知道它的正确语法。

因此,如果您使用字符串,您可以像这样进行替换吗?

string parent = tnParent.Replace("'","''");

然后将父字符串放入?

tnParent.Text = dr["ACCT_GRP"].ToString().Replace("'"; "''");

您可以将 using sql 替换为:

SqlCommand cmd2 = new SqlCommand("SELECT REPLACE([ACCT_GRP], '''', '') as ACCT_GRP, [ACCT_GRP_PK] FROM [ACCT_GRP_LIST] " + "ORDER BY [ACCT_GRP] ASC", con4);