Jump to content
Sign in to follow this  
Igor SIlva

Ajudar com combobox e mysql

Recommended Posts

Igor SIlva

Bom dia...

Eu estou a desenvolver uma aplicação de gestão de alunos para uma escola em c#, e estou com uma dificuldade em uma parte do código.

É o seguinte eu tenho uma combobox que ao iniciar automaticamente a aplicação vai carregar os dados já inseridos numa tabela na base de dados que é "turma", depois tenho outra tabela que é "aluno" e quando inicio a aplicação, no "form alunos", o combobox automaticamente fica já com os nomes das turmas já guardadas, o problema é ir buscar o valor do "id_turma" e adicionar no campo "id_turma", na tabela "aluno".

Vou colocar o código que eu tenho no "form alunos":

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using MySql.Data.MySqlClient;


namespace modulo_17._1
{
    public partia class Alunos : Form
    {
        public Alunos()
        {
           
            InitializeComponent();
            
        }
        int ID_Tur;
        
        private void inserir_aluno()
        {
            
            MySqlConnection myConnection = new MySqlConnection("server=localhost;User Id=root;database=escola");
            myConnection.Open();
            
            MySqlCommand myCommand = new MySqlCommand("Insert Into aluno (Nome, Idade , BI, Localidade, Escolarid, Pais, Morada, Codigo, Contacto, Turma, ID_Turma) Values ('" + textBox1.Text + "', '" + textBox2.Text + "', '" + textBox9.Text + "','" + textBox3.Text + "', '" + textBox4.Text + "', '" + textBox5.Text + "', '" + textBox6.Text + "', '" + textBox11.Text + "', '" + textBox10.Text + "', '" + comboBox1.Text + "','" + ID_Tur + "')");
            
            myCommand.Connection = myConnection;
            myCommand.ExecuteNonQuery(); ---> quando eu vou correr o programa e clico adicionar da me um erro aqui!
            myConnection.Close();
        }

        private void Alunos_Load(object sender, EventArgs e)
        {
           seleci_id();
        }

        private void button1_Click(object sender, EventArgs e)
        {
            inserir_aluno();
        }

        private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
        {
            
            
            
        }

        private void seleci_id()
        {
            MySqlConnection myConnection = new MySqlConnection("server=localhost;User Id=root;database=escola");
           // myConnection.Open();
            MySqlDataAdapter da = new MySqlDataAdapter("SELECT ID_Turma, Nome FROM turma ORDER BY Nome", myConnection);

            DataSet ds = new DataSet();
            da.Fill(ds, "turma");

            DataTable dt = ds.Tables["turma"];


            comboBox1.DataSource = dt;
            
            comboBox1.DisplayMember = "Nome";
            comboBox1.ValueMember = "ID_Turma"; 
            //ID_Tur = Convert.ToInt16(comboBox1.ValueMember = "ID_Turma");

           

           // ID_Tur = Convert.ToInt32(comboBox1.SelectedValue.ToString());

            //MySqlCommand myCommand = new MySqlCommand("Insert Into aluno (ID_Turma) Values (" + ID_Tur + ")";
            //myCommand.Connection = myConnection;
            //myCommand.ExecuteNonQuery();

            
        }

        private void comboBox1_SelectedValueChanged(object sender, EventArgs e)
        {
            ;

        }

        private void listBox1_SelectedIndexChanged(object sender, EventArgs e)
        {

        }
    }
}

É este o meu código.

Alguém pode me dizer como vou pegar no id_turma para adicionar esse id_turma quando estou a inserir o aluno?

Fico a espera de uma resposta rápida e breve é urgente.

Obrigado.

Igor Silva

Share this post


Link to post
Share on other sites
fddsantos

tu estas a querer listar para combobox as turmas que existem  para depois seleccionares a turma e inserires num campo da tabela alunos?


Lei de Lavoisier aplicada à Informática:Na Informática nada se compra, nada se cria! Tudo se copia!

Share this post


Link to post
Share on other sites
Igor SIlva

sim estou a fazer uma lista das turmas inseridas na tabela turma, e eu quero quando selecionar o nome da turma na combobox, mas quando seleciono o nome da turma queria também o id dessa mesma turma na tabela alunos...

Share this post


Link to post
Share on other sites
fddsantos

vais ter que listar a turma com o id escondido, para depois seleccionares o id ou seja:

        private void preencherCLBTipoConsulta()

        {

            cLBTipoConsult.Items.Clear();

            List<TipoConsulta> lista2 = new List<TipoConsulta>();

            lista2 = gestorAplicacao.GestorTipoConsulta.listar_TipoConsulta();

            foreach (TipoConsulta tipoConsult in lista2)

            {

                cLBTipoConsult.Items.Add(tipoConsult);

            }

        }


Lei de Lavoisier aplicada à Informática:Na Informática nada se compra, nada se cria! Tudo se copia!

Share this post


Link to post
Share on other sites
Igor SIlva

Tipo, eu nao tenho nenhuma lista, os dados que vao aparecer no combobox, sao os dados que estao guardados na base de dados mysql,  e nao estou a utilizar nenhuma lista,  só estou a adicionar na base de dados sem lista nenhuma...

isto tudo é so com mysql não utilizo nenhuma lista. . . .

Expliquei me mal. desculpe. . . .

Não sei se me fez entender... :S 

Share this post


Link to post
Share on other sites
fddsantos

Tens que listar para a combobox os dados da tabela.

Ass. Fábio Santos

3ºInformática


Lei de Lavoisier aplicada à Informática:Na Informática nada se compra, nada se cria! Tudo se copia!

Share this post


Link to post
Share on other sites
fddsantos

porque dai o meu codigo porque eu também estou a listar de uma tabela da bd


Lei de Lavoisier aplicada à Informática:Na Informática nada se compra, nada se cria! Tudo se copia!

Share this post


Link to post
Share on other sites
fddsantos

tu tens que ter codigo para listar na combobox


Lei de Lavoisier aplicada à Informática:Na Informática nada se compra, nada se cria! Tudo se copia!

Share this post


Link to post
Share on other sites
fddsantos

aquele codigo que te enviei é o que lista tudo o que é preciso


Lei de Lavoisier aplicada à Informática:Na Informática nada se compra, nada se cria! Tudo se copia!

Share this post


Link to post
Share on other sites
Igor SIlva

ja consegui fazer o que eu queria e era um pouco diferente a dica que me deste... se quizeres diz alguma coisa que eu coloco aqui o exemplo do codigo para tu veres...

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.