Fórum Problemas com o BDGrid #257333

05/11/2004

0

Olá, estou tendo um problema estranho com o DBGrid...

Tipo, linkei ele num IBDataSet,
Quando, altero um linha nele, e passo pra linha seguinte, o valor q eu alterei, vai pra todos os campos do DBGRid... estranho d+...

O unico metodo q encontrei de solucionar isso, foi.. apos o Post do IBDataSet, eu Fecho o IBDataSet e reabro o mesmo... assim volta tudo ao noirmal..


Tipo, somente mostra os valoresem todos os campos, [b:3bd6dfc21b]sem altera-los no banco[/b:3bd6dfc21b].

Como posso resolver isso...


DEsde ja agradeco...


Titanius

Titanius

Responder

Posts

05/11/2004

Titanius

upp... :8


Responder

Gostei + 0

05/11/2004

Gandalf.nho

Qual a estrutura da query do IBDataSet?


Responder

Gostei + 0

05/11/2004

Titanius

quais os dados?
beleza, segue ele aih:

DeleteSQL:
   delete from NOTAS
   where
       RECNO = :OLD_RECNO

InsertSQL:

insert into NOTAS
  (RECNO, COD_BOLETIM, BIMESTRE, COD_DISCIPLINA, DESC_DISCIPLINA, PROVA1, 
   PROVA2, PROVA3, PROVA4, MEDIA_PROVA, AV_FECHADA, PARTICIPACAO, NOTA1, 
   NOTA2, FALTAS, MEDIA_FINAL)
values
  (:RECNO, :COD_BOLETIM, :BIMESTRE, :COD_DISCIPLINA, :DESC_DISCIPLINA, 
   :PROVA1, :PROVA2, :PROVA3, :PROVA4, :MEDIA_PROVA, :AV_FECHADA, :PARTICIPACAO, 
   :NOTA1, :NOTA2, :FALTAS, :MEDIA_FINAL)

ModifySQL:

update NOTAS
set
  RECNO = :RECNO,
  COD_BOLETIM = :COD_BOLETIM,
  BIMESTRE = :BIMESTRE,
  COD_DISCIPLINA = :COD_DISCIPLINA,
  DESC_DISCIPLINA = :DESC_DISCIPLINA,
  PROVA1 = :PROVA1,
  PROVA2 = :PROVA2,
  PROVA3 = :PROVA3,
  PROVA4 = :PROVA4,
  MEDIA_PROVA = :MEDIA_PROVA,
  AV_FECHADA = :AV_FECHADA,
  PARTICIPACAO = :PARTICIPACAO,
  NOTA1 = :NOTA1,
  NOTA2 = :NOTA2,
  FALTAS = :FALTAS,
  MEDIA_FINAL = :MEDIA_FINAL
where
  RECNO = :OLD_RECNO


Embaixo muda de acordo com o Item do ComboBox selecionado:
  SelectSQL.Clear;
  SelectSQL.Add(´select * from NOTAS´);
  SelectSQL.Add(´where (COD_BOLETIM = ´ + CodBoletim.Caption + ´)´);
  SelectSQL.Add(´and (BIMESTRE = ´ + ComboBox1.Text + ´)´);

  RefreshSQL.Clear;
  RefreshSQL.Add(´select * from NOTAS´);
  RefreshSQL.Add(´where (COD_BOLETIM = ´ + CodBoletim.Caption + ´)´);
  RefreshSQL.Add(´and (BIMESTRE = ´ + ComboBox1.Text + ´)´);


eh isso?!


Responder

Gostei + 0

05/11/2004

Gandalf.nho

O RefreshSQL não tem código?


Responder

Gostei + 0

06/11/2004

Titanius

tem sim, olha ele aih?

  RefreshSQL.Clear; 
  RefreshSQL.Add(´select * from NOTAS´); 
  RefreshSQL.Add(´where (COD_BOLETIM = ´ + CodBoletim.Caption + ´)´); 
  RefreshSQL.Add(´and (BIMESTRE = ´ + ComboBox1.Text + ´)´); 



Responder

Gostei + 0

07/11/2004

Gandalf.nho

Tente mudar o RefreshSQL para na cláusula WHERE só usar o campo chave primária, pode ser que funcione.


Responder

Gostei + 0

08/11/2004

Titanius

Funcionou!!!!!!!! :lol: :lol: :lol: :lol:

Beleza, brigadao mesmo!!!!


Responder

Gostei + 0

08/11/2004

Gandalf.nho

Funcionou!!!!!!!! :lol: :lol: :lol: :lol: Beleza, brigadao mesmo!!!!


De nada! :D


Responder

Gostei + 0

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

Aceitar