-3

このコードの実行中に、「=」の近くに誤った構文を示すエラーが表示され、「SqlDataReader drs = cmd.ExecuteReader();」が強調表示されます。本当に驚くべきことで、今これで立ち往生しています...助けが必要です.!!!

public void nextCourseDisplay(string crscode)
{
        SqlCommand cmd = new SqlCommand();
        string count = string.Empty;
        cmd.Connection = CPublic.Comm_con;
        cmd.CommandType = CommandType.Text;
        cmd.Parameters.AddWithValue("@CID",crscode);
        cmd.CommandText = "select RECNO from COURSEMASTER" + CPublic.g_firmcode + "where CID = @CID";
        SqlDataReader drs = cmd.ExecuteReader();
        if (drs.HasRows)
        {
            if (drs.Read())
            {
                count = drs.GetString(0);
            }
            drs.Close();
        }
}
4

3 に答える 3

5

の前に SQL ステートメントに余分なスペースを追加しますwhere

"select RECNO from COURSEMASTER" + CPublic.g_firmcode + " where CID = @CID"
                                                         ^      

これを行うと、 の値CPublic.g_firmcodeは から分離されwhereます。それ以外の場合whereは、テーブル名の一部です。

于 2013-06-17T05:56:56.660 に答える
0

SQL ステートメントを確認し、実行する前に cmd.CommandText を出力してみてください。

于 2013-06-17T06:02:18.830 に答える
0

crscode とはどのような値ですか? 空の文字列または null の場合、SQL インタープリターが機能せず、エラーが発生すると思います。

于 2013-06-17T05:55:40.827 に答える