Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/scala/18.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 更新数据库时会给出;无法绑定多部分标识符。”;错误_C#_Sql_Sql Server - Fatal编程技术网

C# 更新数据库时会给出;无法绑定多部分标识符。”;错误

C# 更新数据库时会给出;无法绑定多部分标识符。”;错误,c#,sql,sql-server,C#,Sql,Sql Server,我正在尝试更新数据库表中的BookingID。它以前是null。cID是包含预定义ID的字符串 我得到的错误是无法绑定多部分标识符“x”;x是cID 多谢各位 using (SqlConnection connection = new SqlConnection(connectionString)) { String sql = string.Format("UPDATE CounselorDB SET BookingID = @BookingID WHERE Coun

我正在尝试更新数据库表中的BookingID。它以前是
null
。cID是包含预定义ID的字符串

我得到的错误是无法绑定多部分标识符“x”;x是cID

多谢各位

 using (SqlConnection connection = new SqlConnection(connectionString))
    {
        String sql = string.Format("UPDATE CounselorDB SET BookingID = @BookingID WHERE CounselorID = " + cID);
        SqlCommand cmd = new SqlCommand(sql, connection);
        cmd.CommandType = CommandType.Text;
        cmd.Connection = connection;
        cmd.Parameters.AddWithValue("@BookingID", getBookingID());
        connection.Open();
        cmd.ExecuteNonQuery();
    }

你可以试试这个:

using (SqlConnection connection = new SqlConnection(connectionString))
{
    String sql = "UPDATE CounselorDB "+
                 "SET BookingID = @BookingID "+
                 "WHERE CounselorID = @CounselorID";

    SqlCommand cmd = new SqlCommand(sql, connection);
    cmd.CommandType = CommandType.Text;
    cmd.Connection = connection;
    cmd.Parameters.AddWithValue("@BookingID", getBookingID());
    cmd.Parameters.AddWithValue("@CounselorID", cID);
    connection.Open();
    cmd.ExecuteNonQuery();
}

您也应该参数化该值。仍然给出了相同的错误getBookingID()和cID的值是什么?getBookingID返回一个整数。它进入表格并给出最后使用的值+1。cID是从另一个表中读入的字符串,该表给出了“无效的列名'cID.”。由于
cID
包含
consuller id
的值,我看不出问题出在哪里。我的意思是为什么
cID
必须与列名关联?它是参数
@consulterid
的值。我不是吗?是的,我有另一个方法设置了从不同的表(consultdb)读取随机的consultID,但是值是相同的。