Ir para o conteúdo
  • Revista PROGRAMAR: Já está disponível a edição #60 da revista programar. Faz já o download aqui!

Moohsilva

Acesso a base de dados (problemas com imagens) C#

Mensagens Recomendadas

Moohsilva

Boas,

No meu projeto estou a tentar implementar uma pesquisa de cocktail da base de dados e fazer a recolha de informação para o site, neste momento já consigo filtrar como deve ser e receber o Nome do cocktail inerente à pesquisa realizada. Deparei-me com dois problemas: Como receber o resultado da pesquisa dinamicamente no site. E como apresentar as imagens no site(na base de dados tenho um campo em string com o caminho da imagem). Obrigado!

Aspecto do site:

http://imgur.com/9cix6ZM

Código:

protected void Page_Load(object sender, EventArgs e)
{



if (!this.IsPostBack)
{
{//lista de Bebidas
using (SqlCommand cmd = new SqlCommand("SELECT ID_Bebida, Nome FROM Bebidas"))

{

cmd.CommandType = CommandType.Text;
cmd.Connection = con;
con.Open();
DropDownList1.DataSource = cmd.ExecuteReader();
DropDownList1.DataTextField = "Nome";
DropDownList1.DataValueField = "ID_Bebida";
DropDownList1.DataBind();
con.Close();

}
}

DropDownList1.Items.Insert(0, new ListItem("--Escolha a bebida--", "0"));

//lista de Ingredientes
using (SqlCommand cmd2 = new SqlCommand("SELECT ID_Ingrediente , Nome FROM Ingredientes as Ing"))
{
cmd2.CommandType = CommandType.Text;
cmd2.Connection = con;
con.Open();
DropDownList2.DataSource = cmd2.ExecuteReader();
DropDownList2.DataTextField = "Nome";
DropDownList2.DataValueField = "ID_Ingrediente";
DropDownList2.DataBind();
con.Close();
}

DropDownList2.Items.Insert(0, new ListItem("--Escolha o ingrediente--", "0"));

}
}

//Botao de pesquisa (está a filtrar tudo bem)
protected void Button1_Click(object sender, EventArgs e)
{
//using (SqlCommand cmd3 = new SqlCommand("SELECT Nome FROM Cocktails Where (Select ID_bebida From Bebidas="+DropDownList2.DataValueField+")"));
{
if (DropDownList2.SelectedItem.Value != "0" && DropDownList1.SelectedItem.Value == "0")// se houver ingrediente
{
con.Open();
string sql1 = "(select Coc.Imagem, Coc.Nome, Coc.ID_cocktail from Cocktails AS Coc, Inter_ingredientes AS Interi, Ingredientes As Ing, Inter_bebidas as be, Inter_bebidas as Interb where Coc.ID_cocktail=Interi.ID_cocktail and Interi.ID_ingrediente=Ing.ID_ingrediente and Interi.ID_ingrediente=" + DropDownList2.SelectedItem.Value + ")";
SqlCommand cmd3 = new SqlCommand(sql1, con);
SqlDataReader dr3 = cmd3.ExecuteReader();
while (dr3.Read())
TextBox1.Text = dr3["Nome"].ToString();

con.Close();
}


else if (DropDownList2.SelectedItem.Value == "0" && DropDownList1.SelectedItem.Value != "0")// se houver bebida
{

con.Open();
string sql2 = "(select Coc.Imagem, Coc.Nome, Coc.ID_cocktail from Cocktails AS Coc, Inter_ingredientes AS Interi, Ingredientes As Ing, Inter_bebidas as be, Inter_bebidas as Interb where Coc.ID_cocktail=Interb.ID_cocktail and Interb.ID_bebida=be.ID_bebida and Interb.ID_bebida=" + DropDownList1.SelectedItem.Value + ")";
SqlCommand cmd2 = new SqlCommand(sql2, con);
SqlDataReader dr2 = cmd2.ExecuteReader();
while (dr2.Read())
TextBox1.Text = dr2["Nome"].ToString();

con.Close();
}

else if (DropDownList1.SelectedItem.Value != "0" && DropDownList2.SelectedItem.Value != "0")//caso tenham os dois ID
{
con.Open();

string sql = "(select Coc.Imagem, Coc.Nome, Coc.ID_cocktail from Cocktails AS Coc, Inter_ingredientes AS Interi, Ingredientes As Ing, Inter_bebidas as be, Inter_bebidas as Interb where Coc.ID_cocktail=Interi.ID_cocktail and Interi.ID_ingrediente=Ing.ID_ingrediente and Interi.ID_ingrediente=" + DropDownList2.SelectedItem.Value + " and Coc.ID_cocktail=Interb.ID_cocktail and Interb.ID_bebida=be.ID_bebida and Interb.ID_bebida=" + DropDownList1.SelectedItem.Value + ")";
SqlCommand cmd1 = new SqlCommand(sql, con);
SqlDataReader dr1 = cmd1.ExecuteReader();
while (dr1.Read())
{
TextBox1.Text = dr1["Nome"].ToString();
// Image1.ImageUrl = dr1["Imagem"].ToString();
//TextBox2.Text = dr1["Imagem"].ToString();
}
con.Close();
}
}

}

Editado por Moohsilva

"Qualquer um pode escrever um código que o computador entenda. Bons programadores escrevem códigos que os humanos entendam."

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!

Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.

Entrar Agora

×

Aviso Sobre Cookies

Ao usar este site você aceita os nossos Termos de Uso e Política de Privacidade. Este site usa cookies para disponibilizar funcionalidades personalizadas. Para mais informações visite esta página.