Buscar cidade, digitando código no Edit
aee pessoal!
como que eu poderia fazer para o seguinte:
Tenho os seguintes edits:
[edtCidade] [Cidade]
daí no campo edtCidade, eu digito um código existente e, ao teclar ENTER, o sistema fará uma busca em uma tabela e nesta busca, retornará a cidade... Como que eu poderia fazer? sendo que no delphi, tenho assim o meu código, no OnExit do edit:
procedure TDMGERAL.retorna1(Sender: TObject; ARQUIVO,BUSCA,RETORNO,CAMPO,FILIAL: String);
begin
IF (Sender AS TDBEDIT).DATASOURCE.DATASET.STATE IN [DSEDIT,DSINSERT] THEN
BEGIN
IF (Sender AS TDBEDIT).Text = ´´ THEN
BEGIN
ShowMessage(´Preencha este campo !´);
if campo<>´´ then
(SENDER AS TDBEDIT).DATASOURCE.DATASET.FIELDBYNAME(CAMPO).ASSTRING := ´´;
(Sender AS TDBEDIT).SetFocus;
Abort;
END;
CDSCOM.Close;
IF FILIAL = ´S´ THEN
CDSCOM.CommandText := ´SELECT ´+RETORNO+´ FROM ´+ARQUIVO+´ WHERE ´+BUSCA+´ = ´´´+(SENDER AS TDBEDIT).TEXT+´´´ AND ´+ARQUIVO+´.CFILIAL = ´+INTTOSTR(FILIALATUAL)
ELSE
CDSCOM.CommandText := ´SELECT ´+RETORNO+´ FROM ´+ARQUIVO+´ WHERE ´+BUSCA+´ = ´´´+(SENDER AS TDBEDIT).TEXT+´´´´;
CDSCOM.Open;
IF CDSCOM.RecordCount > 0 THEN
BEGIN
IF (CAMPO<>´´) AND ((SENDER AS TDBEDIT).DATASOURCE.DATASET.FIELDBYNAME(CAMPO).ASSTRING <> CDSCOM.Fields[0].AsString) THEN
(SENDER AS TDBEDIT).DATASOURCE.DATASET.FIELDBYNAME(CAMPO).ASSTRING := CDSCOM.Fields[0].AsString;
END
ELSE
BEGIN
IF (CAMPO<>´´) THEN
(SENDER AS TDBEDIT).DATASOURCE.DATASET.FIELDBYNAME(CAMPO).ASSTRING := ´´;
SHOWMESSAGE(´Registro não localizado !´);
(SENDER AS TDBEDIT).SETFOCUS;
END;
CDSCOM.CLOSE;
END;
end;
Desde já, agradeço...
Obrigado!
como que eu poderia fazer para o seguinte:
Tenho os seguintes edits:
[edtCidade] [Cidade]
daí no campo edtCidade, eu digito um código existente e, ao teclar ENTER, o sistema fará uma busca em uma tabela e nesta busca, retornará a cidade... Como que eu poderia fazer? sendo que no delphi, tenho assim o meu código, no OnExit do edit:
procedure TDMGERAL.retorna1(Sender: TObject; ARQUIVO,BUSCA,RETORNO,CAMPO,FILIAL: String);
begin
IF (Sender AS TDBEDIT).DATASOURCE.DATASET.STATE IN [DSEDIT,DSINSERT] THEN
BEGIN
IF (Sender AS TDBEDIT).Text = ´´ THEN
BEGIN
ShowMessage(´Preencha este campo !´);
if campo<>´´ then
(SENDER AS TDBEDIT).DATASOURCE.DATASET.FIELDBYNAME(CAMPO).ASSTRING := ´´;
(Sender AS TDBEDIT).SetFocus;
Abort;
END;
CDSCOM.Close;
IF FILIAL = ´S´ THEN
CDSCOM.CommandText := ´SELECT ´+RETORNO+´ FROM ´+ARQUIVO+´ WHERE ´+BUSCA+´ = ´´´+(SENDER AS TDBEDIT).TEXT+´´´ AND ´+ARQUIVO+´.CFILIAL = ´+INTTOSTR(FILIALATUAL)
ELSE
CDSCOM.CommandText := ´SELECT ´+RETORNO+´ FROM ´+ARQUIVO+´ WHERE ´+BUSCA+´ = ´´´+(SENDER AS TDBEDIT).TEXT+´´´´;
CDSCOM.Open;
IF CDSCOM.RecordCount > 0 THEN
BEGIN
IF (CAMPO<>´´) AND ((SENDER AS TDBEDIT).DATASOURCE.DATASET.FIELDBYNAME(CAMPO).ASSTRING <> CDSCOM.Fields[0].AsString) THEN
(SENDER AS TDBEDIT).DATASOURCE.DATASET.FIELDBYNAME(CAMPO).ASSTRING := CDSCOM.Fields[0].AsString;
END
ELSE
BEGIN
IF (CAMPO<>´´) THEN
(SENDER AS TDBEDIT).DATASOURCE.DATASET.FIELDBYNAME(CAMPO).ASSTRING := ´´;
SHOWMESSAGE(´Registro não localizado !´);
(SENDER AS TDBEDIT).SETFOCUS;
END;
CDSCOM.CLOSE;
END;
end;
Desde já, agradeço...
Obrigado!
Lucas_spohr
Curtidas 0
Respostas
Markapollo
25/10/2007
amigo, isto não é C#, acho que deveria ter postado no fórum sobre delphi.
GOSTEI 0
Lucas_spohr
25/10/2007
bahhh!! perdão...
desculpe-me, mas faltou implementar na minha mensagem... quero esta função, em C#...
Esta função, eu tenho no delphi que fará exatamente isso que eu preciso. Só que agora, preciso implementar isso em um projeto feito com C... Entendeu?
Obrigado!
desculpe-me, mas faltou implementar na minha mensagem... quero esta função, em C#...
Esta função, eu tenho no delphi que fará exatamente isso que eu preciso. Só que agora, preciso implementar isso em um projeto feito com C... Entendeu?
Obrigado!
GOSTEI 0