Preencher campo automaticamente
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é
Curtidas 0
Respostas
Pedro Maitan
12/07/2010
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;
GOSTEI 0
André
12/07/2010
Boa tarde Pedro,
Chegando em casa irei testar.
Eu tentei fazer coisas mais simples, como vincular os campos no EditDataBindings.
Muito obrigado pela ajuda!
GOSTEI 0
André
12/07/2010
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?
GOSTEI 0
Pedro Maitan
12/07/2010
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
Ex:
MySqlCommand para SqlCommand
GOSTEI 0
André
12/07/2010
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; }
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; }
GOSTEI 0
André
12/07/2010
tava vendo aqui... os objetos que ficam dentro do Fromview nao ficam disponiveis pra inserir nos metodos...
GOSTEI 0
André
12/07/2010
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
Cidade cid = new Cidade....
Esse código dá erro...de onde surgiu o nome "Cidade"?
Obrigado
GOSTEI 0
Netasper
12/07/2010
Cidade é classe que deve ser construida com os atributos (get e set) ai vc esta criando uma nova instancia de Cidade.
[]s
[]s
GOSTEI 0
Dyego Furletti
12/07/2010
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
GOSTEI 0
Dyego Furletti
12/07/2010
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....
GOSTEI 0
André
12/07/2010
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é
GOSTEI 0
Alejandro González
12/07/2010
Desisti de investir nesta questão, pois existem muitas cidades com o mesmo nome em estados diferentes
É mehor o usuario definir o estado
Alejandro
GOSTEI 0
Alejandro González
12/07/2010
Desisti de investir nesta questão, pois existem muitas cidades com o mesmo nome em estados diferentes
É mehor o usuario definir o estado
Alejandro
GOSTEI 0