Preencher campo automaticamente

12/07/2010

0

Boa tarde, Tenho as tabelas CLIENTES, CIDADE e ESTADO. Na página de Cidades tenho um dropdown onde escolho o estado. Na página de Clientes tenho um dropdown onde escolho a cidade. Preciso que o campo ESTADO seja preenchido automaticamente com o estado que corresponde à cidade selecionada no dropdown. Alguem sabe como fazer? Obrigado
André

André

Responder

Posts

12/07/2010

Pedro Maitan

   

public string buscaNomeEstado(int CodigoEstado)

    {

        string NomeEstado = string.Empty;



        string ConStr = @"Data Source=localhost;Initial Catalog=SeuBanco;Integrated Security=True;";        

        MySqlConnection con = new MySqlConnection(ConStr);

        MySqlDataReader dr;



        string sql = "SELECT nome FROM estado WHERE codigo = " + CodigoEstado;



        con.Open();

        MySqlCommand cmd = new MySqlCommand(sql, con);



        try

        {            

            using (dr = cmd.ExecuteReader(CommandBehavior.CloseConnection))

                if (dr.Read())

                    NomeEstado = dr["nome"].ToString();

                

        }

        catch (Exception er)

        {

            throw new Exception(er.Message);

        }

        finally

        {

            con.Close();

        }

        return NomeEstado;

    }





 protected void DropDownList1_SelectedIndexChanged(object sender, EventArgs e)

    {       

        Estado est = new Estado();

        Cidade cid = new Cidade();



        // Aqui vc busca o código do estado e atribui a variavel codigoEstado

        // Parametro = Código da Cidade

        int codigoEstado = cid.buscaCodigoEstado(DropDownList1.SelectedValue);



        //Aqui vc busca o nome do Estado apartir do Código do Estado buscado na linha acima

        TextBox1.Text = est.buscaNomeEstado(codigoEstado);

    }




O MÉTODO buscaCodigoEstado É PARECIDO COM O buscaNomeEstado, VC SÓ IRÁ MUDAR A SQL

select codigoEstado from cidade where codigoCidade = CodigoParametro;
Responder

12/07/2010

André

Boa tarde Pedro, Chegando em casa irei testar. Eu tentei fazer coisas mais simples, como vincular os campos no EditDataBindings. Muito obrigado pela ajuda!
Responder

12/07/2010

André

Vi que tem algumas linhas que se referem ao mysql.. eu estou usando o sql server, tem alguma alteração drástica por esse motivo?
Responder

12/07/2010

Pedro Maitan

Modificação drástica num tem não, a unica coisa que vc terá que faze é trocar os nome Mysql por Sql
Ex:
MySqlCommand para SqlCommand
Responder

12/07/2010

André

cara...nunca consegui fazer uma classe funcionar...
a chave primaria da minha tabela ESTADO é string... é o campo UF que recebe SP, MG, RJ e etc...
deu um monte de erro cara... fala que o dropdownlist nao se encontra no contexto, textbox tb... verifiquei se o nome é o mesmo do formulario já...
nao entendi o que vc falou sobre o metodo buscaCodigoEstado...  
nos tipos de variaveis tb da erro... string , int e tal...
Segue abaixo:

protected void DropDownList4_SelectedIndexChanged(object sender, EventArgs e)        {            Estado est = new Estado();             Cidade cid = new Cidade(); 
           // Aqui vc busca o código do estado e atribui a variavel codigoEstado            // Parametro = Código da Cidade            int codigoEstado = cid.buscaCodigoEstado(DropDownList4.SelectedValue); 
           //Aqui vc busca o nome do Estado apartir do Código do Estado buscado na linha acima            TextBox1.Text = est.buscaNomeEstado(codigoEstado); 
        }
            }

    public string buscaNomeEstado(int CodigoEstado)     {         string NomeEstado = string.Empty; 
        string Conexao = @"Data Source=.\SQLEXPRESS;Initial Catalog=BD; User ID=sa; Password=senha";                SqlConnection con = new SqlConnection(Conexao);         SqlDataReader dr; 
        string sql = "SELECT UF FROM estado WHERE UF = " + NomeEstado; 
        con.Open();         SqlCommand cmd = new SqlCommand(sql, con); 
        try         {                        using (dr = cmd.ExecuteReader(CommandBehavior.CloseConnection))                 if (dr.Read())                     NomeEstado = dr["UF"].ToString();                         }         catch (Exception er)         {             throw new Exception(er.Message);         }         finally         {             con.Close();         }         return NomeEstado;     } 
 
Responder

12/07/2010

André

tava vendo aqui... os objetos que ficam dentro do Fromview nao ficam disponiveis pra inserir nos metodos...
Responder

17/07/2010

André

Alguem me ajuda com esse código por favor?
Cidade cid = new Cidade....
Esse código dá erro...de onde surgiu o nome "Cidade"?
Obrigado
Responder

19/07/2010

Netasper

Cidade é classe que deve ser construida com os atributos (get e set) ai vc esta criando uma nova instancia de Cidade.

[]s
Responder

28/07/2010

Dyego Furletti

Eu no seu lugar como você ja esta usando Sql Server Entity Framework ja é nativo, e como Ef fica muito mais facio trabalhar com conexão e os metodas crud(insert, update, delete, select). Hoje eu trabalho ef no Oracle temos um software de terceiros para cria o modelagem EF, tudo fica mais tranquilo EF. Veja alguma video aulas do Rodrigo Sendim sobre EF e veja o que lhe espera.   Mais informações pode me cominicar por e-mail   dyego_scofield@hotmail.com
Responder

28/07/2010

Dyego Furletti

Como o EF ficaria simples mdEstado -> Objeto da classe Estado mdEntit -> Objeto da Entitade     ********************************************   CONSULTA PARAMETRO STTRING ESTADO   public void BuscaEstado(string estado) {       string estd = estado;       mdEstado = mdEntiti.Estado.FirstOrDefault(est => est.UF == estd)      txtEstado = mdEstado.DESCRICAO; /*Campo da Tabela que contem o valor com a descrição do estado*/ }     *******************************************   essa seria uma consulta utilizando lambda.   Muito fino ENTITY FRAMEWORK....
Responder

13/08/2010

André

Pessoal, muito obrigado. Consegui resolver de outra forma,mas vou estudar essas outras possibilidade citadas. Quando chegar em casa eu posto a solução aqui. André
Responder

21/03/2011

Alejandro González

Desisti de investir nesta questão, pois existem muitas cidades com o mesmo nome em estados diferentes É mehor o usuario definir o estado   Alejandro
Responder

21/03/2011

Alejandro González

Desisti de investir nesta questão, pois existem muitas cidades com o mesmo nome em estados diferentes É mehor o usuario definir o estado   Alejandro
Responder

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar