在我的计划中,我有这个声明 ......
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“教育水平” 我有一些像这个硕士学位的价值 我如何在这个陈述中使用单引号。
感谢
答案 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语法中单引号的转义方法是将它们加倍。