carregar foto em um diretorio no BD sql e exibir na pagina mediante uma consulta.
14/09/2011
0
Ola Pessoal estou com uma duvida ,estou querendo fazer uma consulta em asp.net c# ao BD sql e ele me trazer toda a informação do produto até aqui tudo bem consegui fazer mas na hora de exibir a foto não qual objeto usar no VB para exibir a foto e lembrando que queria também que o banco guarda-se apenas o caminho do diretorio ,sendo feita a consulta em um textbox entrando com o codigo do produto apareça as informações do produto e sua foto na pagina.
Alguem pode me ajudar como ficaria isso no BD sql e no meu código C# na minha pagina asp.net
Clezer Aragon.
Curtir tópico
+ 0
Responder
Posts
14/09/2011
Paulo Freire
Olá Clezer, vc primeiro precisa decidir onde ira gravar a foto do seu produto, no Banco de Dados no caso SQLServer 2005(superior) no campo VARBINARY(MAX) ou algum campo tipo URL_FOTO VARCHAR(254).
Os dois tem pós e contras, eu uso os dois porem em cenários diferentes, por exemplo as imagens de armamento, munição não posso deixar em direitorio na internet por preciso de uma segurnaça nas imagens então gravo dentro do banco, pensei que iria inchar o banco, mas não tenhos mais de 67000 registro e o banco esta com 490 mb.
Vou mostra como exibir a imagem em um componente Image ok, precisar do outro jeito é só da um grito.
protected void CarregaDadosDoOficial() { lblMensagem.Text = "";
string strSQL = "SELECT ID, STATUS, NOME, ENDERECO, PATENTE, TRATAMENTO, URL_FOTO FROM OFICIAIS WHERE (ID=@ID)";
SqlCommand cmd = new SqlCommand(strSQL, new SqlConnection(ConfigurationManager.ConnectionStrings["Conexao_CMSO"].ConnectionString)); cmd.Connection.Open(); cmd.CommandType = CommandType.StoredProcedure; cmd.Parameters.Add(new SqlParameter("@ID", Session["IDOficial"])); // Pode mudar para um TextBox
SqlDataReader dr;
try {
dr = cmd.ExecuteReader();
if (dr.HasRows) { while (dr.Read()) { txtID.Text = dr["ID"].ToString(); if (dr["STATUS"] != null) { ckStatus.Checked = (bool)dr["STATUS"]; } txtNome.Text = dr["NOME"].ToString(); txtEndereco.Text = dr["ENDERECO"].ToString(); dpTratamento.SelectedValue = dr["ID_TRATAMENTO"].ToString(); dpPatente.SelectedValue = dr["ID_PATENTE"].ToString();
//Carrega Foto if (dr["URL_FOTO"] != null) { Foto.ImageUrl = "~/upload/" + dr["URL_FOTO"].ToString(); } //Aqui carrego a imagem para o component IMAGE
}
btIncluir.Enabled = false;
} else { btIncluir.Enabled = true; }
dr.Dispose();
} catch (SqlException ex) { Response.Write(ex.ToString()); } finally { cmd.Connection.Close(); cmd.Connection.Dispose(); btIncluir.Enabled = true; } }
Ops lembrando só sei em C#, VB não sei nada ok.
Os dois tem pós e contras, eu uso os dois porem em cenários diferentes, por exemplo as imagens de armamento, munição não posso deixar em direitorio na internet por preciso de uma segurnaça nas imagens então gravo dentro do banco, pensei que iria inchar o banco, mas não tenhos mais de 67000 registro e o banco esta com 490 mb.
Vou mostra como exibir a imagem em um componente Image ok, precisar do outro jeito é só da um grito.
protected void CarregaDadosDoOficial() { lblMensagem.Text = "";
string strSQL = "SELECT ID, STATUS, NOME, ENDERECO, PATENTE, TRATAMENTO, URL_FOTO FROM OFICIAIS WHERE (ID=@ID)";
SqlCommand cmd = new SqlCommand(strSQL, new SqlConnection(ConfigurationManager.ConnectionStrings["Conexao_CMSO"].ConnectionString)); cmd.Connection.Open(); cmd.CommandType = CommandType.StoredProcedure; cmd.Parameters.Add(new SqlParameter("@ID", Session["IDOficial"])); // Pode mudar para um TextBox
SqlDataReader dr;
try {
dr = cmd.ExecuteReader();
if (dr.HasRows) { while (dr.Read()) { txtID.Text = dr["ID"].ToString(); if (dr["STATUS"] != null) { ckStatus.Checked = (bool)dr["STATUS"]; } txtNome.Text = dr["NOME"].ToString(); txtEndereco.Text = dr["ENDERECO"].ToString(); dpTratamento.SelectedValue = dr["ID_TRATAMENTO"].ToString(); dpPatente.SelectedValue = dr["ID_PATENTE"].ToString();
//Carrega Foto if (dr["URL_FOTO"] != null) { Foto.ImageUrl = "~/upload/" + dr["URL_FOTO"].ToString(); } //Aqui carrego a imagem para o component IMAGE
}
btIncluir.Enabled = false;
} else { btIncluir.Enabled = true; }
dr.Dispose();
} catch (SqlException ex) { Response.Write(ex.ToString()); } finally { cmd.Connection.Close(); cmd.Connection.Dispose(); btIncluir.Enabled = true; } }
Ops lembrando só sei em C#, VB não sei nada ok.
Responder
27/09/2011
Clezer Aragon.
Queria saber como fasso para fazer para buscar apenas o código do produto no banco e ele comparar o código com o diretório da foto com o mesmo código e exibir no grid ,lembrando que as fotos estão em um diretório fora do banco
Responder
Clique aqui para fazer login e interagir na Comunidade :)