none
modificar una imagen en sqlserver desde vb.net RRS feed

  • Pregunta

  •  tengo  una base de datos en sqlserver

    create table  usuario

    codigo char(10),

    nombre varchar(20),

     foto  image

    )

    go

    en mi tabla     usuario tengo guardado  datos     y imagenes tambien

    yo kiero cambia mi imagen de foto   

     

    desde vb.net     controles seria

    2 caja de texto     1 pictureboxk

    boton modificar                el boton guardar ya lose            pero el boton modificar no me sale

    eso es el problema  amigos me puede ayudar sii gracias amigoos

    • Cambiado Enrique M. Montejo miércoles, 20 de junio de 2012 16:28 acceso a datos (De:Lenguaje VB.NET)
    viernes, 15 de junio de 2012 19:56

Todas las respuestas

  • hola

    algo como esto

    [WinForms] Edición Empleados

    alli implemento esto que comentas, analiza el articulo para poder sacar alguna idea de como programarlo

    saludos


    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina


    viernes, 15 de junio de 2012 20:04
  •   yo solo kiero modificar una imagen   en sqlserver  desde v.net

    osea la imagen ya esta guardar en  sqlserver  en la tabla

    lo ke kiero es modificar esa imagen por otra imagen poner

    boton modificar solo eso  nada amigo

    viernes, 15 de junio de 2012 22:23
  • mi  tabla    sqlserver

    create table usuario
    (
    codigo char(10)primary key,
    usuario varchar(50)not null,
    clave varchar(50)not null,
    foto image
    )
    go

    --------------------------------------------------------------------------------------------------
    --------------------------guardar usuario-----------------------------------
    create  procedure  sp_guardar_usuari
    @v1 char(10) ,
    @v2 varchar(50),
    @v3 varchar(50),
    @v4  image
    as

    insert into usuario values(@v1,@v2,@v3,@v4)

    go
    --------------------

    create procedure  sp_modificar_usuari

    @v1 char(10),
    @v2 varchar(50),
    @v3 varchar(50),
    @v4@ image
    as

    update usuario  set usuario=@v2,clave=@v3 foto=@v4 where codigo =@v1
    go

    codigo visual.net

    boton  guardar     datos    tambien imagen

    imports system.io

    imports  system.data.sqlclient

    /////////////recone  la imagen//////////

                    Dim arrFilename() As String = Split(Text, "\")
                    Array.Reverse(arrFilename)
                    Dim ms As New MemoryStream
                    PictureBox1.Image.Save(ms, PictureBox1.Image.RawFormat)
                    Dim arrImage() As Byte = ms.GetBuffer

                    Dim cmd As New SqlCommand("sp_guardar_usuari", CN)

                    cmd.CommandType = CommandType.StoredProcedure
                   cmd.Parameters.Add(New SqlParameter("@v1", SqlDbType.Char)).Value = TextBox1.Text
                    cmd.Parameters.Add(New SqlParameter("@v2", SqlDbType.VarChar)).Value = TextBox2.Text
                    cmd.Parameters.Add(New SqlParameter("@v3", SqlDbType.VarChar)).Value = TextBox3.Text
                    cmd.Parameters.Add(New SqlParameter("@v4", SqlDbType.Image)).Value = arrImage

                    If CN.State = ConnectionState.Open Then CN.Close()

                    CN.Open()
                    cmd.ExecuteNonQuery()

                    CN.Close()
                    MessageBox.Show("asido grabado los datos", "correspondiente", MessageBoxButtons.OK, MessageBoxIcon.Question)

    end if

    //////////////////////////////////////////////////////////////////////////

    boton modificar

     Dim cmd As New SqlCommand("sp_modificar_usuari", CN)

            cmd.CommandType = CommandType.StoredProcedure

       cmd.Parameters.Add("@v1", SqlDbType.Char).Value = TextBox1.Text

            cmd.Parameters.Add("@v2", SqlDbType.Char).Value = TextBox2.Text

            cmd.Parameters.Add("@v3", SqlDbType.Char).Value = TextBox3.Text

            cmd.Parameters.Add(New SqlParameter("@v4", SqlDbType.Image)).Value = arrImage

        CN.Open()

            cmd.ExecuteNonQuery()

            CN.Close()

    //////////////////////////////////////////////

    no puedo  modificar la imagen con este codigo amigo     solo puedo modificar los datos del usuario

    menos la imagen me puede ayudar ke codigo me falta   si amigo gracias amigoo

     mil gracias

    viernes, 15 de junio de 2012 22:32
  • pero modificar o insertar es exactamente igual la tecnica usas parametro al cual le pasas el array de byte de la imagen

    pero simpre usando parametros

    solo que usarias un INSERT o UPDATE en cada caso


    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina

    viernes, 15 de junio de 2012 23:09
  • como que no puede modificar la imagen?

    esta tomando el array de byte de la imagen de forma correcta ?

    hay dos cosas que me pregunto

    - proque usaste un char(10) para un id de una tabla, eso es uan pesima decision, el id no es string meno char

    - segundo que valor el pasas en TextBox1.Text, porque quizas no este pudiendo encontrar ningun usuario que actualizar


    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina

    viernes, 15 de junio de 2012 23:11
  • amigo    puede ayudarme  por favor

    como consulta proveedor    osea kiero consulta proveedor y ke me muestre sus datos en la caja de textbox y combobox

    osea   codigo,razon_social     etc  sobre todo ke muestre en combobox el distrito pero por nombre    no por codigo

    y cuanod me mestre todo los datos correcto yo kiero modificar   el distrito     por nombre   elegir un distrito   con su nombre

    y listo  ke modifike ese proveedor sus datos   nada mas amigoo  este es mi codigo fuente amigoo

    mi tabla 

    create table proveedor
    (
    cod_prov char(10)primary key,
    razon_social varchar(50)not null,
    ruc char(10)not null,
    direccion varchar(50)not null,
    telefono char(10)not null,
    cod_dis char(10)foreign key(cod_dis)references distrito(cod_dis)
    )
    go


    create table distrito
    (
    cod_dis char(10)primary key ,
    nom_dis varchar(50)not null
    )
    go

     esto es mi proceduree  en sqlserver amigoo de mi proveedor modificar

    create procedure sp_modificar_proveedores

    @v1 char(10),
    @v2 varchar(50),
    @v3 char(10),
    @v4 varchar(50),
    @v5 char(10),
    @v6 char(10)

    as

    update proveedor  set razon_social=@v2,ruc=@v3,direccion=@v4,telefono=@v5,cod_dis=@v6 where cod_prov=@v1
    go

      es   codigo visual.net      consulta proveedor

                    Dim cmd As New SqlCommand(" select * from proveedor where razon_social like  '" & TextBox3.Text & "%'", CN)
                    Dim da As New SqlDataAdapter

                    da.SelectCommand = cmd

                    Dim dt As New DataTable

                    da.Fill(dt)

                    If dt.Rows.Count = 0 Then


                        MessageBox.Show("NO EXITE EL PROVEEDOR", "VERIFIQUE", MessageBoxButtons.OK, MessageBoxIcon.Information)

                        TextBox3.Text = ""

                    Else

                        TextBox1.Text = dt.Rows(0).Item("cod_prov")
                        TextBox2.Text = dt.Rows(0).Item("ruc")
                        TextBox4.Text = dt.Rows(0).Item("direccion")
                        TextBox5.Text = dt.Rows(0).Item("telefono")

                        'ComboBox1.Text = dt.Rows(0).Item("nom_dis")


                        ComboBox1.Text = dt.Rows(0).Item("cod_dis")

                        'ComboBox1.Text = dt.Rows(0).Item("nom_dis")

                        'Me.ComboBox1.DisplayMember = "nom_dis"

                        'Me.ComboBox1.ValueMember = "cod_dis"

                        'Me.ComboBox1.Text = dt.Rows(0).Item("nom__dis")

                    End If

    este es boton modificar provedor


                Dim cmd As New SqlCommand("sp_modificar_proveedores", CN)

                cmd.CommandType = CommandType.StoredProcedure

            cmd.Parameters.Add("@v1", SqlDbType.Char).Value = TextBox1.Text

                cmd.Parameters.Add("@v2", SqlDbType.VarChar).Value = TextBox3.Text

                cmd.Parameters.Add("@v3", SqlDbType.Char).Value = TextBox2.Text


                cmd.Parameters.Add("@v4", SqlDbType.VarChar).Value = TextBox4.Text

                cmd.Parameters.Add("@v5", SqlDbType.Char).Value = TextBox5.Text

                cmd.Parameters.Add("@v6", SqlDbType.Char).Value = ComboBox1.Text

               CN.Open()

                cmd.ExecuteNonQuery()

        CN.Close()

     yo kiero es  consultar proveedor  ssus datos    pero en   distrito  ke me muestre el nombre del distrito   en combobox1

    y    para yo modificar    su distrito  por nombre

    es todo amigo gracias por la ayuda sii

    viernes, 22 de junio de 2012 17:54