update imagem no banco de dados!

26/03/2008

0

Olá!
To tentando atualizar uma img no banco de dados do tipo varbinary, eu já consegui inserir e mostrar ela, mas agora n consigo atualizar ele!

To fazendo da seguinte maneira

 protected void atualizarButton_Click(object sender, EventArgs e)
    {
        try
        {
            cnnSql.Open();
            cmmSql.Connection = cnnSql;
            
                if (FileUpload.HasFile)
                {
                    using (BinaryReader reader = new BinaryReader(FileUpload.PostedFile.InputStream))
                    {
                        byte[] image = reader.ReadBytes(FileUpload.PostedFile.ContentLength);
                        salva(image);
                    }
                }  

                else
                {
                    sql = "update Pesquisa set modelo =´" + modeloDropDownList.Text + "´" + ",marca = ´"
                        + marcaDropDownList.Text + "´" + ",cor = ´" + corDropDownList.Text + "´"
                        + ",tipo =´" + tipoDropDownList.Text + "´" + ",ano =´" + anoTextBox.Text + "´" + ",valor=" +
                        valorTextBox.Text + ",descricao =´" + descricaoTextBox.Text + "´" + "where itemid=" + index;
                    this.cmmSql.CommandText = sql;
                    this.cmmSql.ExecuteNonQuery();
                }
    }
             
              

            catch (Exception erro)
            {
                Response.Write(erro);
            }

            finally
            {
                carregaBd();
                desaparecePanel();    
                cnnSql.Close();
            }
        }
    



Esse método ai qd eh clicado no botao atualizar, atualiza todos os dados da linha selecionada do banco, com ou sem img nova.

Agora se tiver img, o método q é chamado :


  protected void salva(byte[] image) {
        int rowsAffected;
          

        using (SqlConnection connection = new SqlConnection(strSql))
        {
            using (SqlCommand cmmSql = connection.CreateCommand())
            {
                cmmSql.Parameters.AddWithValue("@Image", image);
                cmmSql.Parameters.AddWithValue("@marca", marcaDropDownList.SelectedItem.Text);
                cmmSql.Parameters.AddWithValue("@modelo", modeloDropDownList.SelectedItem.Text);
                cmmSql.Parameters.AddWithValue("@cor", corDropDownList.SelectedItem.Text);
                cmmSql.Parameters.AddWithValue("@tipo", tipoDropDownList.SelectedItem.Text);
                cmmSql.Parameters.AddWithValue("@ano", anoTextBox.Text);
                cmmSql.Parameters.AddWithValue("@valor", valorTextBox.Text);
                cmmSql.Parameters.AddWithValue("@descricao", descricaoTextBox.Text);
            }

            sql = "update Pesquisa set modelo =´" + @modelo + "´" + ",marca = ´"
                         + @marca + "´" + ",cor = ´" + @cor + "´"
                         + ",tipo =´" + @tipo + "´" + ",ano =´" + @ano + "´" + ",valor=" +
                         @valor + ",descricao =´" + @descricao + "´" + ", image =´" + @image + "´ where itemid=" + index;

            cmmSql.CommandText = sql;
            //connection.Open();
            cmmSql.ExecuteNonQuery();
        }
          
        
}


Se coloco no sql ´....image=´+@image+´...´ dá excpetion, e se coloco com aspas simples ´....image=´´+@image+´´...´ passa, o binary data continua no banco, mas n mostra nmais img nenhuma!

Espero q alguem possa me ajudar![/code]


Hnkarla

Hnkarla

Responder

Posts

04/04/2008

Groove

olha pode ser besteira (acho q é) mas
como ainda niguem respondeu...

naum poderia ser assim, tipo...

na hora de atualizar vc deletava a img antiga e inseria a nova???

é só uma sugestão mas...

valew galera!!!


Responder

04/04/2008

Hnkarla

Jah consegui passando por parametro! =]

Obrigada!


Responder

Que tal ter acesso a um e-book gratuito que vai te ajudar muito nesse momento decisivo?

Ver ebook

Recomendado pra quem ainda não iniciou o estudos.

Eu quero
Ver ebook

Recomendado para quem está passando por dificuldades nessa etapa inicial

Eu quero

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar