none
problemas con update de mysql RRS feed

  • Pregunta

  • cuando a update la tabla me actuliza todos lo sregistros y solo necesito que me actualize el nombre del producto

    ALTER DEFINER=`root`@`localhost` PROCEDURE `actualizarCat`(
    IN idcategoria int,
    IN idempresa int,
    IN Nombre nvarchar (50)
    )
    BEGIN
    update categorias
     set
     Nombre=Nombre ,
     idempresa= idempresa
    where idcategoria = idcategoria
    ;
    END

    martes, 26 de marzo de 2013 2:20

Todas las respuestas

  • hola

    porque no defines los nombre de los parametro con un nombre diferente al de los campos

    proque cuando haces esto

    where idcategoria = idcategoria

    pareciera que igualas los dos campos de la db, por lo tanto actualiza todo

    si defines un parametro como ser idcat, entocnes quedaria

    where idcategoria = idcat

    alli si sabe el procedure que comparas contra parametro

    saludos


    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina

    martes, 26 de marzo de 2013 3:31
  • Hola Dominio69

    MySql

    BEGIN
    update Cliente set nombre=_nombre, direccion=_direccion, ciudad=_ciudad, telefono=_telefono
    where idCliente=_idCliente;
    END

    Código

    Using cn As MySqlConnection = Conexión.Conectar("default")
                cn.Open()
                Using cmd As MySqlCommand = cn.CreateCommand
                    cmd.CommandText = "USP_UpdCliente"
                    cmd.CommandType = CommandType.StoredProcedure
                    With cmd.Parameters
                        .Add("_idCliente", MySqlDbType.Int32, 11).Value = cliente.IdCliente
                        .Add("_nombre", MySqlDbType.VarChar, 80).Value = cliente.Nombre
                        .Add("_direccion", MySqlDbType.VarChar, 80).Value = cliente.Direccion
                        .Add("_ciudad", MySqlDbType.VarChar, 80).Value = cliente.Ciudad
                        .Add("_telefono", MySqlDbType.VarChar, 9).Value = cliente.Telefono
                    End With
                    cmd.ExecuteNonQuery()
                End Using
            End Using
    Espero que este ejemplo te sirva, concuerdo con lo que dice Leandro


    Pedro Ávila
    "El hombre sabio querrá estar siempre con quien sea mejor que él."
    Lima - Perú

    martes, 26 de marzo de 2013 18:26