-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_firmcodewhere. 否则where是您的表名的一部分。

于 2013-06-17T05:56:56.660 回答
0

crscode是什么值?如果它是一个空字符串或 null 我猜 sql 解释器将无法工作并给你你得到的错误。

于 2013-06-17T05:55:40.827 回答
0

检查您的 sql 语句,并在执行之前尝试打印 cmd.CommandText!

于 2013-06-17T06:02:18.830 回答