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();
}
}
}
这是正常的,因为您尝试使用@NOME
设置NOME
SET ... NOOME = @NOME
已经有NOOME
@NOME
WHERE NOME = @NOME
你的更新就像什么;
UPDATE pescador SET ... NOME = 'Somecharacters' ... WHERE NOME = 'Somecharacters'
显然,您尝试用自身更新NOME
列。