Adotable refresing

Yapmak istediğiniz işle ilgili doğru bileşeni bulmak için burayı kullanabilirsiniz. Sadece bulmak için, diğer sorular Programlama forumuna lütfen.
Forum kuralları
Bu forum sadece yapacağınız işle alakalı doğru bileşeni bulmak içindir. Şöyle bir şey yapmam lazım, hangi bileşeni kullanıyım diyorsanız, doğru yerdesiniz.
Cevapla
PoaX
Üye
Mesajlar: 9
Kayıt: 05 May 2009 01:22

Adotable refresing

Mesaj gönderen PoaX »

Merhaba arkadaşLar aşağıdaki kod da anLaşıLdığı üzere bir form da girişLerin yapıLacağı aLanLArı Adoquery kuLLanarak insert yaptırıyorum. Fakat CxGrid ise ADOTable nesnesine bağLı yapmak istediğim Adoquery den hemen sonra CxGrid in refresh yapabiLmesi. AdoTable ı refres ettirmek istediğimde ise "insufficient key column information for updating or refreshing" hatasını aLıyorum. Yardımcı oLursanız sevinirim.

KOD
procedure Tyazisma.cxButton2Click(Sender: TObject);

var
a,b,c:string;
i:string;
begin
a:=copy(Self.cxDateEdit1.Text,1,3);
b:=copy(self.cxDateEdit1.Text,4,3);
c:=copy(self.cxDateEdit1.Text,7,10);
i:=b+a+c;

ADOQuery1.Close;
ADOQuery1.SQL.Clear;

Adoquery1.SQL.Add('Insert Into yazisma (TARIH,ADSOYAD,TELEFON,TALEBI,ADRES,CATEGORY)Values('''
+i+''','''+self.cxTextEdit1.Text+''','''+Self.cxMaskEdit1.Text+''','''+self.cxMemo1.Text+''','''+self.cxMemo2.Text+''','''
+self.cxLookupComboBox1.Text+
''')');

Adoquery1.ExecSQL;
Application.MessageBox('Kayıt Tamamlandı','Kayıt İşlemleri');

Datam.yazisma.Refresh;
self.cxGrid1.Refresh;
self.cxTextEdit1.Clear;
self.cxDateEdit1.Clear;
self.cxMaskEdit1.Clear;
self.cxMemo1.Clear;
self.cxMemo2.Clear;
self.cxDateEdit1.SetFocus;

end;
Kullanıcı avatarı
conari
Üye
Mesajlar: 2102
Kayıt: 27 Nis 2006 03:10
Konum: İstanbul & Gebze Karışık

Re: Adotable refresing

Mesaj gönderen conari »

CXGride bağlı olan tabloyu refresh yapmalısınız.
oda refresh şeklinde değil tablo.requery şeklinde olur.
Bir kelimenin anlamını öğretsen bile yeter..
ResimResim
Ertugrul
Üye
Mesajlar: 136
Kayıt: 09 May 2009 12:05

Re: Adotable refresing

Mesaj gönderen Ertugrul »

Asagidaki gibi yapilmazsa textboxlara biri tirnak vb atinca, ya da tarih saat ayarlari farkli olunca sorgu calismaz.

Kod: Tümünü seç

var
Q:TADOQuery;
begin
  Q:=TADOQuery.Create(nil);
  Q.Connection:=AdoConnection1;
  Q.SQL.Text:='Insert Into yazisma (TARIH,ADSOYAD,TELEFON,TALEBI,ADRES,CATEGORY) Values(:TARIH,:ADSOYAD,:TELEFON,:TALEBI,:ADRES,:CATEGORY)';
  Q.Parameters.ParamByName('TARIH').Value:=cxDateEdit1.Value;
  Q.Parameters.ParamByName('ADSOYAD').Value:=cxMaskEdit1.Text;
  //....
  Q.ExecSQL;
  FreeAndNil(Q);
  ADOQuery1.Requery();
end;
PoaX
Üye
Mesajlar: 9
Kayıt: 05 May 2009 01:22

Re: Adotable refresing

Mesaj gönderen PoaX »

Teşekkür Ederim
Cevapla