none
Carregando tabela do Mysql em um listbox do c# RRS feed

  • Pergunta


  • Boa noite amigos, me ajudem por favor, eu li estes postes e nao consegui, acontece o seguinte, eu criei uma banco de dados e nele tem as seguintes tabelas,  codigo , nomeReceita,  ingredientes , modoDePreparo.

    criei um form, e neste fomr possui um list box, que ja lista o nome de todas as receitas cadastradas, e criei
    um botao, no click desse botao gostaria que ele procurasse o nome de acordo com oq esta no listbox, e que
    abrisse o form3 que ja e.sta criado com richtextebox1 e richtextebox2, carregando o richtextebox1 com a tabela
    Ingredientes, e o richtextebox2 com a tabela modoDePreparo,

    minhas tabelas no Mysql estao como varchar
    sexta-feira, 13 de fevereiro de 2015 02:05

Todas as Respostas

  • Olá, Gabriel.

    Você pode pegar o SelectedItem ou SelectedValue do ListBox e passar seu texto para o segundo form utilizar como parâmetro para uma instrução SQL que use esse texto na cláusula WHERE.

    Se você puder ser mais claro em qual é sua dúvida, facilitaria lhe ajudar com uma resposta mais direta.


    Joel Rodrigues MSP, MCP, MTA Editor geral .NET Magazine E Easy .NET Magazine

    sexta-feira, 13 de fevereiro de 2015 12:01
  • obrigado.
    vamos lá então:
    no MySQL tenho 4 tabelas, (codigo:int(999)=primary key,  nomeReceita=varchar(50) , ingredientes =varchar(50), mododepreparo=varchar(50),

    no visual studio tenho 2 forms, ( frmselect e frmselectfilho), no frmselect tenho um Commboxe e um button, já no frmselectfilho tenho listboxIngredientes e o listboxModoDePreparo,

    quero que quando clicar no button abra o frmselectfilho e ja preencha o listboxIngredientes com a tabela ingredientes, e o listboxmododepreparo com a tabela mododepreparo do MySQL de ambos de acordo com o nome que esteja selecionado no commboxe, o commboxe recebe a tabela nomeReceita do MySQL, então quando clicar no button terá q fazer uma pesquisa no banco de dados>na tabela nomeReceita, e carregar as tabelas ingredientes e mododePreparo de acordo com o nome do commboxe.
    tenho muito pouco conhecimento no c#, então gostaria de ver como que ficaria este o código por favor.

    espero que alguém possa me ajudar, obrigado...








    • Editado Gabriel Verli sexta-feira, 13 de fevereiro de 2015 13:06 Maior Aprofundamento na pergunta
    sexta-feira, 13 de fevereiro de 2015 12:51
  • Olá Gabriel,

    Consegui simular de forma simples o que entendi. Veja se atende.

    ASPX

    <asp:ListBox ID="ListBox1" runat="server" OnSelectedIndexChanged="ListBox1_SelectedIndexChanged" AutoPostBack="true"></asp:ListBox>
        <asp:TextBox ID="txtIngredientes" runat="server"></asp:TextBox>
        <asp:TextBox ID="txtModoDePreparo" runat="server"></asp:TextBox>

    CodeBehind

    public partial class testeGabrilVerli : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                // carrega o listbox
                ListBox1.DataTextField = "nomeReceita";
                ListBox1.DataValueField = "codigo";
                ListBox1.DataSource = ExemploGabrilVerli.Listar();
                ListBox1.DataBind();
            }
        }
    
        protected void ListBox1_SelectedIndexChanged(object sender, EventArgs e)
        {
            // recupera o item selecionado
            ExemploGabrilVerli itemSelecionado = recuperarItemSelecionado(int.Parse(ListBox1.SelectedValue));
    
            // manipula o item selecionado
            txtIngredientes.Text = itemSelecionado.ingredientes;
            txtModoDePreparo.Text = itemSelecionado.modoDePreparo;
        }
    
        ExemploGabrilVerli recuperarItemSelecionado(int codigo)
        {
            // recuperar item do banco de dados
            return ExemploGabrilVerli.Listar().First(x => x.codigo == codigo);
        }
    }
    
    // Simulação da tabela no banco de dados
    public class ExemploGabrilVerli
    {
        // colunas do banco de dados
        public int codigo { get; set; }
        public string nomeReceita { get; set; }
        public string ingredientes { get; set; }
        public string modoDePreparo { get; set; }
    
        // simulação de select no banco de dados
        public static IList<ExemploGabrilVerli> Listar()
        {
            var lista = new List<ExemploGabrilVerli>();
            lista.Add(new ExemploGabrilVerli()
            {
                codigo = 1,
                nomeReceita = "Receita 1",
                ingredientes = "Ingredientes 1",
                modoDePreparo = "Modo preparo 1"
            });
            lista.Add(new ExemploGabrilVerli()
            {
                codigo = 2,
                nomeReceita = "Receita 2",
                ingredientes = "Ingredientes 2",
                modoDePreparo = "Modo preparo 2"
            });
            lista.Add(new ExemploGabrilVerli()
            {
                codigo = 3,
                nomeReceita = "Receita 3",
                ingredientes = "Ingredientes 3",
                modoDePreparo = "Modo preparo 3"
            });
            return lista;
        }
    }

    Caso não resolva, deixe-nos saber.

    Saudações,
    Kallebe Lins, Kakaroo

    sexta-feira, 13 de fevereiro de 2015 14:26
  • Olá Gabriel,

    Caso sua necessidade seja Windows Forms segue exemplo abaixo:

        public partial class testeGabrilVerli : Form
        {
            public testeGabrilVerli()
            {
                InitializeComponent();
            }
    
            private void testeGabrilVerli_Load(object sender, EventArgs e)
            {
                // carrega o listbox
                listBox1.DisplayMember = "nomeReceita";
                listBox1.ValueMember = "codigo";
                listBox1.DataSource = ExemploGabrilVerli.Listar();
            }
    
            private void listBox1_SelectedIndexChanged(object sender, EventArgs e)
            {
                // recupera o item selecionado
                ExemploGabrilVerli itemSelecionado = recuperarItemSelecionado((int)listBox1.SelectedValue);
    
                // manipula o item selecionado
                richtxtIngredientes.Text = itemSelecionado.ingredientes;
                richtxtModoDePreparo.Text = itemSelecionado.modoDePreparo;
            }
    
            ExemploGabrilVerli recuperarItemSelecionado(int codigo)
            {
                // recuperar item do banco de dados
                return ExemploGabrilVerli.Listar().First(x => x.codigo == codigo);
            }
        }
    
        // Simulação da tabela no banco de dados
        public class ExemploGabrilVerli
        {
            // colunas do banco de dados
            public int codigo { get; set; }
            public string nomeReceita { get; set; }
            public string ingredientes { get; set; }
            public string modoDePreparo { get; set; }
    
            // simulação de select no banco de dados
            public static IList<ExemploGabrilVerli> Listar()
            {
                var lista = new List<ExemploGabrilVerli>();
                lista.Add(new ExemploGabrilVerli()
                {
                    codigo = 1,
                    nomeReceita = "Receita 1",
                    ingredientes = "Ingredientes 1",
                    modoDePreparo = "Modo preparo 1"
                });
                lista.Add(new ExemploGabrilVerli()
                {
                    codigo = 2,
                    nomeReceita = "Receita 2",
                    ingredientes = "Ingredientes 2",
                    modoDePreparo = "Modo preparo 2"
                });
                lista.Add(new ExemploGabrilVerli()
                {
                    codigo = 3,
                    nomeReceita = "Receita 3",
                    ingredientes = "Ingredientes 3",
                    modoDePreparo = "Modo preparo 3"
                });
                return lista;
            }
        }
    

    Caso não resolva, deixe-nos saber.

    Saudações,
    Kallebe Lins, Kakaroo

    • Sugerido como Resposta Kallebe Lins segunda-feira, 16 de fevereiro de 2015 18:46
    sexta-feira, 13 de fevereiro de 2015 16:46