PESQUISAR ENDERECO PELO CEP
Olá, eu comecei a trabalhar com programação faz pouco tempo
e eu não estou conseguindo fazer uma busca de endereços usando o cep
digitado pelo usuário.
Eu gostaria que ao usuário digitar o cep, o endereço, bairro, cidade, estado
se completassem automaticamente. A tabela de ceps ja tenho.
Estou usando o vb 2008.
e eu não estou conseguindo fazer uma busca de endereços usando o cep
digitado pelo usuário.
Eu gostaria que ao usuário digitar o cep, o endereço, bairro, cidade, estado
se completassem automaticamente. A tabela de ceps ja tenho.
Estou usando o vb 2008.
Como está a estrutura de dados? O que vc tem na tabela de CEPS? Como no seu banco de dados o cep está vinculado ao endereço?
Esta vinculado através do INNER JOIN
SELECT L.CEP, L.ENDERECO,B.BAIRRO,
C.CIDADE, U.ESTADO FROM LOGRADOUROS as L inner JOIN bairros as B
on L.CD_BAIRRO=B.cd_bairro inner join cidades as C on B.cd_cidade=C.cd_cidade
inner JOIN uf as u on C.cd_uf=U.cd_uf
Quando eu digito um CEP inválido, a mensagem [Ô]Cep não encontrado[Ô] aparece, porém quando digito
um CEP válido, ele não faz nada.
SELECT L.CEP, L.ENDERECO,B.BAIRRO,
C.CIDADE, U.ESTADO FROM LOGRADOUROS as L inner JOIN bairros as B
on L.CD_BAIRRO=B.cd_bairro inner join cidades as C on B.cd_cidade=C.cd_cidade
inner JOIN uf as u on C.cd_uf=U.cd_uf
Quando eu digito um CEP inválido, a mensagem [Ô]Cep não encontrado[Ô] aparece, porém quando digito
um CEP válido, ele não faz nada.
Onde está a cláusula where para filtrar o CEP que foi digitado?
[Ô]SELECT L.CEP, L.ENDERECO,B.BAIRRO,[Ô] + _
[Ô]C.CIDADE, U.ESTADO FROM LOGRADOUROS as L inner JOIN bairros as B [Ô] + _
[Ô]on L.CD_BAIRRO=B.cd_bairro inner join cidades as C on B.cd_cidade=C.cd_cidade inner JOIN uf as u on C.cd_uf=U.cd_uf where L.NO_LOGRADOURO_CEP = @NO_LOGRADOURO_CEP[Ô]
está na classe Endereço
[Ô]C.CIDADE, U.ESTADO FROM LOGRADOUROS as L inner JOIN bairros as B [Ô] + _
[Ô]on L.CD_BAIRRO=B.cd_bairro inner join cidades as C on B.cd_cidade=C.cd_cidade inner JOIN uf as u on C.cd_uf=U.cd_uf where L.NO_LOGRADOURO_CEP = @NO_LOGRADOURO_CEP[Ô]
está na classe Endereço
Mostre a rotina que vc está fazendo para buscar o valor e preencher as caixas de texto...
Dim intCodigo As String
intCodigo = mskCep.Text
InitializeComponent()
Dim obj As New clsEndereco
obj.Listar(intCodigo)
If obj.CodCep <> intCodigo Then
MsgBox([Ô]CEP não encontrado![Ô], MsgBoxStyle.OkOnly, [Ô]Atenção[Ô])
Exit Sub
ElseIf obj.CodCep = intCodigo Then
MsgBox([Ô]CEP encontrado![Ô], MsgBoxStyle.OkOnly, [Ô]Atenção[Ô])
mskCep.Text = obj.CodCep
txtEndereco.Text = obj.LogradouroNome
txtBairro.Text = obj.BairroNome
txtCidade.Text = obj.CidadeNome
txtEstado.Text = obj.UfNome
Exit Sub
End If
intCodigo = mskCep.Text
InitializeComponent()
Dim obj As New clsEndereco
obj.Listar(intCodigo)
If obj.CodCep <> intCodigo Then
MsgBox([Ô]CEP não encontrado![Ô], MsgBoxStyle.OkOnly, [Ô]Atenção[Ô])
Exit Sub
ElseIf obj.CodCep = intCodigo Then
MsgBox([Ô]CEP encontrado![Ô], MsgBoxStyle.OkOnly, [Ô]Atenção[Ô])
mskCep.Text = obj.CodCep
txtEndereco.Text = obj.LogradouroNome
txtBairro.Text = obj.BairroNome
txtCidade.Text = obj.CidadeNome
txtEstado.Text = obj.UfNome
Exit Sub
End If
Tópico encerrado , respostas não são mais permitidas