none
Como armazenar diretorio no banco de dados SQL Server RRS feed

  • Pergunta

  • Olá, sou novato e tenho um projeto em que preciso armazenar a imagem no PictureBox, e mesmo após o programa ser fechado, quando for abrir novamente a PictureBox ainda apresente a imagem Selecionada. Então usei o OpenFileDialog.FileName para conseguir o diretório do arquivo e depois tentei salvar em uma váriavel para armazenar no banco de dados seguido por poder usar essa informação do banco para atribuir ao PictureBox para que sempre quando o Form for carregado ele mantenha a imagem selecionada pela pessoa, porem não consigo armazenar o diretório em uma váriavel pois contem barras invertidas fazendo com que aconteça o erro de "Sequência de escape não reconhecida" não conseguido armazenar. Tentei usar o .Replace("\", "/") mas após especificar isso ele faz com que o fechamento do parametro do replace fique como texto e não como fechamento. Tentei também usando o @"diretorio" porem sempre da falha no comando SQL INSERT

            private void pb1_Click(object sender, EventArgs e)
            {
                if (ofd.ShowDialog() == DialogResult.OK)
                {
                    try
                    {
                        RegraNegocio.EPARegraNegocio novoEPA = new RegraNegocio.EPA();
                        string Diretorio = ofd.FileName;
    
                        novoEPA.Salvar(Diretorio);
    
                        MessageBox.Show("Salvo", "Salvo", MessageBoxButtons.OK, MessageBoxIcon.Information);
    
                    }
                    catch (Exception ex)
                    {
                        MessageBox.Show(ex.Message, "Erro", MessageBoxButtons.OK, MessageBoxIcon.Error);
                    }
                }
            }

            public void Salvar(string epa)
            {
                try
                {
                    using (SqlConnection conexao = new SqlConnection(ConexaoAcessoDados.stringConexao))
                    {
                        conexao.Open();
    
                        sql.Append("INSERT INTO TabelaEPA (ID_EPA)");
                        sql.Append(" VALUES (@EPA)");
    
                        comandosql.Parameters.Add(new SqlParameter("@EPA", epa));
    
                        comandosql.CommandText = sql.ToString();
                        comandosql.Connection = conexao;
                        comandosql.ExecuteNonQuery();
                    }
                }
                catch (Exception)
                {
                    throw new Exception("Ocorreu um Erro no Método Salvar");
                }
            }


    Gostaria de dicas de como conseguir fazer com que a imagem selecionada do usuário fique salvo no PictureBox e mesmo fechando o programa, quando abrir novamente ela esteja lá(Se possivel com explicação para que eu possa entender também o código)

    • Editado Konamy segunda-feira, 26 de novembro de 2018 20:00
    segunda-feira, 26 de novembro de 2018 00:35

Todas as Respostas

  • Boa noite, Konamy. Tudo bem?

    Obrigado por usar o fórum MSDN.

    Essa seria uma questão de "How to/Customização" ou "Break Fix/Erro"?

    Atenciosamente,

    Filipe B de Castro

    Esse conteúdo é fornecido sem garantias de qualquer tipo, seja expressa ou implícita

    MSDN Community Support

    Por favor, lembre-se de Marcar como Resposta as postagens que resolveram o seu problema. Essa é uma maneira comum de reconhecer aqueles que o ajudaram e fazer com que seja mais fácil para os outros visitantes encontrarem a resolução mais tarde.

    segunda-feira, 26 de novembro de 2018 22:55
    Moderador
  • Não sei se meu código está correto ou se é possível fazer da maneira que estou tentando, então acho que a melhor solução seria um código com explicações, para que eu possa chegar no objetivo, que seria  pegar a escolha da pessoa(imagem) através do OpenFileDiallog para ser colocado em um PictureBox, em que mesmo após o programa ser fechado a imagem ainda esteja lá. Então creio que seria "How to/Customização"
    • Editado Konamy terça-feira, 27 de novembro de 2018 12:32
    terça-feira, 27 de novembro de 2018 12:30