ExecuteReader在"="附近抛出不正确的语法

Jok*_*ker -3 c# sql

运行此代码时,我收到错误显示"="附近的语法不正确,突出显示"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();
        }
}
Run Code Online (Sandbox Code Playgroud)

Mar*_*der 5

where以下情况之前为SQL语句添加额外的空间:

"select RECNO from COURSEMASTER" + CPublic.g_firmcode + " where CID = @CID"
                                                         ^      
Run Code Online (Sandbox Code Playgroud)

如果您这样做,则将值CPublic.g_firmcode分开where.否则where是表名的一部分.

  • 可能就在g_firmcode之后,假设表格是COURSEMASTER1,COURSEMASTER2等等(对我来说,这看起来像是一个可怕的设计,不可否认.) (2认同)