发生System.Data.SqlClient.SqlException以更新表

时间:2015-03-16 19:52:31

标签: c# sql sql-server database sql-update

为了更新Customer/PartyId我要求用户填写表单的CP_id和其他元素,然后根据CP_id更新数据库中的数据:

if (CP_id.Text != " ")
{
    string cpid=CP_id.Text;
    string query = "Update tbl_partyinfo set Name = @Name, Addrss = @Addrss, Cntct_No = @Cntct_No where CP_id = cpid";

    using (SqlConnection connection1 = new SqlConnection(conn))
    {
        connection1.Open();

        using (SqlCommand insertCommand = new SqlCommand(query, connection1)) 
        {
            insertCommand.Parameters.Add("@Name", SqlDbType.VarChar).Value = txtname.Text;
            insertCommand.Parameters.Add("@Addrss", SqlDbType.VarChar).Value = txtAddrss.Text;
            insertCommand.Parameters.Add("@Cntct_No", SqlDbType.VarChar).Value = txtcontact.Text;

            //make sure you open and close(after executing) the connection
            var rowsaffected = insertCommand.ExecuteNonQuery();

            connection1.Close();

            MessageBox.Show("Id no."+CP_id.Text +" Updated.");
         }
     }
}
else
{
    MessageBox.Show("Please identify Id before updating");
}

但是我收到了一个错误:

  

System.Data.dll中出现未处理的“System.Data.SqlClient.SqlException”类型异常

     

其他信息:无效的列名称'cpid'

我收到此错误但没有替代方法来获取此类功能。

1 个答案:

答案 0 :(得分:2)

  

CP_ID = CPID

这需要是另一个绑定的参数计:CP_id=@cpid,你需要另一行添加这个参数及其值。你已经为其他三个人做过了,对于第四个人来说也不会太难。