SQL UPDATE不会改变

本文关键字:改变 UPDATE SQL | 更新日期: 2023-09-27 18:04:38

@NOME是Varchar类型,它是唯一的不需要更改的。

如果我传递一个字符串参数给别人而不改变@NOME, SQL其他阵营改变,更多的如果我尝试改变@NOME它不改变什么。

代码:

public void Update_Pescador(int param_rgp, string param_nome, string param_end, string param_cel, string param_tel, string param_cid, string param_estado )
    {
        vsql = "UPDATE pescador SET RGP = @RGP, NOME = @NOME, ENDERECO = @ENDERECO, CIDADE = @CIDADE, ESTADO = @ESTADO, TELEFONE = @TELEFONE, CELULAR = @CELULAR WHERE NOME = @NOME";
        SqlCommand objcmd = null;
        if (this.Conectar())
        {
            try
            {
                objcmd = new SqlCommand(vsql, objCon);
                objcmd.Parameters.Add(new SqlParameter("@RGP", param_rgp));
                objcmd.Parameters.Add(new SqlParameter("@NOME", param_nome));
                objcmd.Parameters.Add(new SqlParameter("@ENDERECO",param_end));
                objcmd.Parameters.Add(new SqlParameter("@CIDADE",param_cid));
                objcmd.Parameters.Add(new SqlParameter("@ESTADO", param_estado));
                objcmd.Parameters.Add(new SqlParameter("@TELEFONE",param_tel));
                objcmd.Parameters.Add(new SqlParameter("@CELULAR",param_cel));
                objcmd.ExecuteNonQuery();
            }
            catch
            {
                throw;
            }
            finally
            {
                this.Desconectar();
            }
        }
    }

SQL UPDATE不会改变

这是正常的,因为您尝试使用@NOME设置NOME

SET ... NOOME = @NOME

已经有NOOME @NOME

WHERE NOME = @NOME

你的更新就像什么;

UPDATE pescador SET ... NOME = 'Somecharacters' ... WHERE NOME = 'Somecharacters'

显然,您尝试用自身更新NOME列。