0

私のプログラムでは、このステートメントがあります......

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)
                ;

しかし、ドロップダウンリスト1の「教育レベル」には、この修士号のような値があります '学位 このステートメントで一重引用符を使用する方法 '.

ありがとう

4

3 に答える 3

10

string.Formatクエリの作成には使用しないでください。パラメータ化されたクエリを使用する必要があります。

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

関連している

于 2012-05-04T11:21:51.443 に答える
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);
于 2012-05-04T11:24:46.840 に答える
0

パラメーター化されたクエリを使用する以外に、T-SQL 構文での一重引用符のエスケープ方法は、それらを二重にすることです。

于 2012-05-04T11:25:51.303 に答える