1. Este site usa cookies. Ao continuar a usar este site está a concordar com o nosso uso de cookies. Saber Mais.

Urgente_codigo C#

Discussão em 'Programação' iniciada por bigk, 24 de Abril de 2008. (Respostas: 1; Visualizações: 622)

  1. 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: 24 de Abril de 2008
  2. AliFromCairo

    AliFromCairo Power Member

    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.
     

Partilhar esta Página