Urgente_codigo C#

bigk

Membro
tabela socios - id_socio, nome,bi, morada,cod_postal,localidade,email,id_zpostal...

tabela zona_postal - id_zpostal, cod_postal, localidade...


preciso de guardar registos numa BD, mysql, em duas tabelas(socios, zona_postal)...essas tabelas têm um campo em comum, o campo id_zpostal...como faço pa guardar na BD igulando o campo id_zpostal???? se o registo ja existir na tabela zona_postal tenho que ter a ajuda a preencher as texts

Código:
public void guardarTudoTd(string QueryGuardarTd)
        {

            //chamar a classe
            cls_ligaçao cls_conectar = new cls_ligaçao();

            // Criação de uma ligação à base de dados MySQL
            cls_conectar.liga = new MySqlConnection(cls_conectar.str_ligacao);

            // Cria a string que guarda o comando a executar     
            string query_socios_zcod_postal = "SELECT * FROM socios INNER JOIN zona_postal ON socios.id_zpostal = zona_postal.id_zpostal";
            
            cls_conectar.comando = new MySqlCommand();

            // Fazer os comandos pretendidos
            cls_conectar.comando.CommandText = query_socios_zcod_postal;

            // Cria o DataAdapter
            cls_conectar.omeuDataAdapter = new MySqlDataAdapter();

            // Coloca a propriedade do DataAdapter igual ao comando a executar
            cls_conectar.omeuDataAdapter.SelectCommand = cls_conectar.comando;

            // Cria um objecto DataSet que guarda os resultados do select
            cls_conectar.meuDataSet = new DataSet();

            // Abre a ligação à BD
            cls_conectar.comando.Connection = cls_conectar.liga;
            cls_conectar.liga.Open();

            // Carrega o DataSet local
            cls_conectar.omeuDataAdapter.Fill(cls_conectar.meuDataSet, "socios, zona_postal");

            // Fecha a ligação à BD
            cls_conectar.liga.Close();

            // Passar os dados para uma DataTable
            DataTable aminhaDataTable = cls_conectar.meuDataSet.Tables["socios, zona_postal"];

            int numrows = aminhaDataTable.Rows.Count;
            
        }
  
        private void Guardar_Click(object sender, EventArgs e)
        {

            string query_guardar_socios = "INSERT into socios (nome, bi, morada, telefone, telemovel, email)  Values ('" + nom_soc_txt.Text + "','" + bi_txt.Text + "','" + morada_txt.Text + "','" + telf_txt.Text + "','" + telem_txt.Text + "','" + mail_txt.Text + "')";
            guardarTudoTd(query_guardar_socios);

            string query_guardar_zona_postal = "INSERT into zona_postal (cod_postal, localidade) Values ('" + codpostal_txt.Text + "','" + localidade_txt.Text + "')";
            guardarTudoTd(query_guardar_zona_postal);


espero q este bucado de codigo possa ajudar :S
 
Última edição pelo moderador:
Insere os dados que queres na tabela zona_postal e, em seguida, podes usar a função LAST_INSERT_ID() do MySQL para obter o id_zpostal. Isto funciona se a coluna id_zpostal tiver o atributo AUTO_INCREMENT. Caso contrário, podes sempre usar algo do género: SELECT MAX(id_zpostal) FROM zona_postal.
 
Back
Topo