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

Que tal ter acesso a um e-book gratuito que vai te ajudar muito nesse momento decisivo?

Ver ebook

Recomendado pra quem ainda não iniciou o estudos.

Eu quero
Ver ebook

Recomendado para quem está passando por dificuldades nessa etapa inicial

Eu quero

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

Aceitar