忽略C#中的单引号

时间:2012-05-04 11:19:41

标签: c#

在我的计划中,我有这个声明 ......

ct = String.Format(@"select [Movie Selector] from WSTMDS3
            natural prediction join 
            (select

             '{0}'as[Age],
            '{1}'as[Education Level],
            '{2}'as[Gender],
            '{3}'as[Home Ownership],
            '{4}'as[Internet Connection],
            '{5}'as[Marital Status]

            )as MovieSelector",
             TextBox1.Text,
             DropDownList1.SelectedValue,
             DropDownList2.SelectedValue,
             DropDownList3.SelectedValue,
             DropDownList4.SelectedValue,
             DropDownList5.SelectedValue)
                ;

但是在DropDown list1“教育水平” 我有一些像这个硕士学位的价值 我如何在这个陈述中使用单引号。

感谢

3 个答案:

答案 0 :(得分:10)

您不应使用string.Format来构建查询。您应该使用参数化查询。

adomdCommand.CommandText = "SELECT ... @P1 ...";
adomdCommand.Parameters.Add(new AdomdParameter("P1", TextBox1.Text));
// etc..

相关

答案 1 :(得分:1)

使用SqlCommand和SqlParameter。 实施例

SqlCommand sqlCom=new SqlCommand();
sqlCom.CommandText=@"select [Movie Selector] from WSTMDS3
        natural prediction join 
        (select

         @P0 as[Age],
        @P1 as[Education Level],
        @P2 as[Gender],
        @P3 as[Home Ownership],
        @P4 as[Internet Connection],
        @P5 as[Marital Status]

        ";
sqlCom.Parameters.AddWithValue("@P0",TextBox1.Text);

答案 2 :(得分:0)

除了使用参数化查询之外,T-SQL语法中单引号的转义方法是将它们加倍。