Dunhasss 0 Denunciar post Postado Maio 18, 2008 Sou iniciante no delphi e estou com um problema em um programa... depois de dar OK ou Cancel eu apago os campos dando um DBEdit.Clear so que quando eu clico no campo aparece a ultima coisa digitada... como faço para resolver isso? agradeço desde ja...dunha!! Compartilhar este post Link para o post Compartilhar em outros sites
kartter 0 Denunciar post Postado Maio 18, 2008 Isto acontece porque teu componente dbedit está ligado a um data source, q por sua vez se liga a um data set. Este dataSet reflete os dados do Banco de Dados. Mesmo você dando um clear, o componente irá mostrar o último registro que foi acessado. Para resolver isto, você teria q usar um componente q não fosse diretamente ligado ao banco de dados, como o TEdit. Compartilhar este post Link para o post Compartilhar em outros sites
Discorpio 1 Denunciar post Postado Maio 19, 2008 Bom dia a todos. O nosso amigo Kartter está corretíssimo, http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif entretanto não podemos deixar de ressaltar que se voce utilizar os componentes que não são ligados a dados, tal como o TEdit, voce terá que escrever um códigos no Evento OnDataChange do DataSouce, de modo tal que conforme voce for acessando o banco de dados, os dados sejam refletidos nos TEdits, assim: procedure TForm1.DataSource1DataChange(Sender: TObject; Field: TField); begin if Query1.State in [dsBrowse] then begin // Banco em estado de navegação. Edit1.Text := Query1.FieldByName('Campo_1').asString; ..... ..... EditN.Text := Query1.FieldByName('Campo_N').asString; end else if Query1.State in [dsInsert] then begin // Banco em estado de inserção. Edit1.Clear; .... .... EditN.Clear; end; end; Quanto a estado de Edição [dsEdit] não é necessário mudar o que está escrito dentro dos TEdits, pois voce precisa visualizar o registro que necessita ser mudado. Um abraço Compartilhar este post Link para o post Compartilhar em outros sites