kaydediyorum fakat tablo yeni hali ile gelmiyor?

MS SQL Server veritabanı ve SQL komutlarıyla ilgli sorularınızı sorabilirsiniz. Delphi tarafındaki sorularınızı lütfen Programlama forumunda sorunuz.
Cevapla
pelitt
Üye
Mesajlar: 148
Kayıt: 18 May 2009 10:06

kaydediyorum fakat tablo yeni hali ile gelmiyor?

Mesaj gönderen pelitt »

Kod: Tümünü seç

if combobox1.Text='Ben Seçeyim' then
begin
idm:=edit3.text;
xaidat:=Edit1.Text;
xyakit:=Edit2.Text;
xay:=ComboBox3.Text;
xyil:=ComboBox2.Text;
ekle:='INSERT INTO hesap (kim,aidat,yakit,ay,yil) values'+'('+idm+','+QuotedStr(xaidat)+','+QuotedStr(xyakit)+','+QuotedStr(xay)+','+QuotedStr(xyil)+')';
IF ZQuery1.active THEN ZQuery1.close;
ZQuery1.SQL.Text:=ekle;  //Zquery1--->Zeos Bileşeni
ZQuery1.ExecSQL;
dbgrid1.Visible:=true;
ZQuery1.Active;
DBGrid1.Refresh;
  zQuery1.SQL.Add('Select UYE.ADI,UYE.BLOK,HESAP.AIDAT,HESAP.AODEME,HESAP.YAKIT,HESAP.YODEME,HESAP.AY,HESAP.YIL,HESAP.NOTC,HESAP.ID From UYE,HESAP Where UYE.ID=HESAP.KIM' );
  zQuery1.Open;
 DBGrid1.Columns[0].Width:=160;
  DBGrid1.Columns[1].Width:=50;
  DBGrid1.Columns[2].Width:=50;
  DBGrid1.Columns[3].Width:=50;
  DBGrid1.Columns[4].Width:=50;
  DBGrid1.Columns[5].Width:=50;
  DBGrid1.Columns[6].Width:=50;
  DBGrid1.Columns[7].Width:=50;
  DBGrid1.Columns[8].Width:=190;
  DBGrid1.Columns[0].Title.Caption:='ADI SOYADI';
  DBGrid1.Columns[1].Title.Caption:='BLOK';
  DBGrid1.Columns[2].Title.Caption:='AİDAT';
   DBGrid1.Columns[3].Title.Caption:='A.ÖDEME';
   DBGrid1.Columns[4].Title.Caption:='YAKIT';
    DBGrid1.Columns[5].Title.Caption:='Y.ÖDEME';
     DBGrid1.Columns[6].Title.Caption:='AY';
      DBGrid1.Columns[7].Title.Caption:='YIL';
       DBGrid1.Columns[8].Title.Caption:='NOT';
  DBGrid1.DataSource.DataSet.Fieldbyname('id').Visible:=false;
Edit3.Text:=DBGrid1.DataSource.DataSet.Fieldbyname('id').AsString;

end
bu kodlarda hata var ama çözemedim mysql ye veri kaydediliyor fakat yeni hali ile tablo açılmıyor
Kullanıcı avatarı
Battosai
Üye
Mesajlar: 1316
Kayıt: 01 Eki 2007 12:02
Konum: Ankara

Re: kaydediyorum fakat tablo yeni hali ile gelmiyor?

Mesaj gönderen Battosai »

İlk önce linkteki makaleye bir gözat eğer DB bağlantılı bileşenler kullanmıyorsan işini kolaylaştırır....içeriğindeki TEdit gibi class ları kullanacaklarına göre düzenle yoksa hata verir....
viewtopic.php?f=19&t=22519&p=128774&hil ... QL#p128774
Çok karışı kbir kod yazmışsın....tabloya ait SQL scripti sabit olduğu için bir const ile global tanımla gerektiği yerde kolay kullanabilirsin....

Kod: Tümünü seç

const
UyeSQL:string=Select UYE.ADI,UYE.BLOK,HESAP.AIDAT,HESAP.AODEME,HESAP.YAKIT,HESAP.YODEME,HESAP.AY,HESAP.YIL,HESAP.NOTC,HESAP.ID From UYE,HESAP Where UYE.ID=HESAP.KIM;
Eğer bir Query ile işlem yapıyorsan...Active olmasına pek ihtiyacın olmamalı...close ve open yeterlidir...Zaten kayıtlarıda sorgu ile giriyorsun....
Yukardaki linki incele ve kodlamanı öyle yap...

Bu bilgiler ışığında sana sadece....

Kod: Tümünü seç

WriteSQL('UyeTablom','insert',Form3);
PostScript(SQLstring); // 
komutları kayıt için yeterli olur daha sonra Dataseti refresh yaparsan DBGrid de yenilenir....DBGrid.Refresh komutunun veriler üzerinde bir etkisi yoktur boşa kullama...
Postscript fonksiyonu Zscript ile yapabileceğin kayıt fonksiyonudur...Kendin yazabilirsin diye onu yazmıyorum....
Bu iki fonksiyon ve procedure sayesinde işlerin kolaylaşacaktır...
pelitt
Üye
Mesajlar: 148
Kayıt: 18 May 2009 10:06

Re: kaydediyorum fakat tablo yeni hali ile gelmiyor?

Mesaj gönderen pelitt »

çok teşekkürler kardeş ancak verdiğin yer daha bi karışık göründü birde ben şimdi herşeyi onamı uyarlıyacağım yeni kayıt girerken sorgu kullanmadım sadece kayıt sonrası dbgridin göstermesi gerekenleri seçtim

aşşağıda neyaptığımı anlattım basit bir çözümü varmı ben forumda hep zquery ler ile çalıştım form1 diye bir üye kayıt sayfam var orada üye kayıt oluyor dbgrid yenileniyor ancak burada olmadı nedeni ise

tablo hesap
id........ kim.......... aidat............ aodeme........... yakit.......... yodeme......... ay............. yil............ not
1 8 12 10 80 5
tablo Uye
id........adi........blok........
8 murat x

sonuc aidat aodeme yakit yodeme
murat 12 10 80 5


yukardaki gibi bir tablo düzenim var yeni hesap için uye tablosundaki id yi almam gerekiyor bunun için şöle bir şey yaptım form açıldığında dbgrid1 geliyor tüm hesaplar ve sutunlarla combo dan isim seç e tıkladığımda dbgrid1 gizleniyor yerine
dbgrid2 geliyor dbgrid2 ye sadece adi sutununu ekledim ordan tıkladığımda veya arama için kullandığım edite adını girmeye başladığımda o isim seçiliyor
id si başka bir edite yazılıyor
bu editi yeni hesap eklerken kim kısmına değer olarak giriyorum ve zquery2 ile sadece adi ve id kısmını dbgrid2 ye yazdırmıştım zquery1 tüm hesabı gösterdiği için kayıtı bunun üzerinden yapıyorum

Kod: Tümünü seç

ekle:='INSERT INTO hesap (kim,aidat,yakit,ay,yil) values'+'('+idm+','+QuotedStr(xaidat)+','+QuotedStr(xyakit)+','+QuotedStr(xay)+','+QuotedStr(xyil)+')';
IF ZQuery1.active THEN ZQuery1.close;
ZQuery1.SQL.Text:=ekle;
kayıt ekleniyor yanlız niyeyse zquery1 e bağlı dbgrid1 yenilenip enson hali vermiyor
Kullanıcı avatarı
Battosai
Üye
Mesajlar: 1316
Kayıt: 01 Eki 2007 12:02
Konum: Ankara

Re: kaydediyorum fakat tablo yeni hali ile gelmiyor?

Mesaj gönderen Battosai »

çok teşekkürler kardeş ancak verdiğin yer daha bi karışık göründü birde ben şimdi herşeyi onamı uyarlıyacağım yeni kayıt girerken sorgu kullanmadım sadece kayıt sonrası dbgridin göstermesi gerekenleri seçtim
Yeni kayır girerken sorgu kullanmadım diyorsun fakat insert sorgusu kullanıyorsun ben işin kolaylaşsın diye dedim..bundan sonra yapılarını ona göre ayarlayabilirsin...Ayrıca çok karışık kodların var luzumsuz kullanımlar var vs...Anlatımdan anlaşıldığı kadarı ile baya karştırmışın işleri...sana kolay gelsin...
pelitt
Üye
Mesajlar: 148
Kayıt: 18 May 2009 10:06

Re: kaydediyorum fakat tablo yeni hali ile gelmiyor?

Mesaj gönderen pelitt »

benim bildiğim sorguda bi eşitlik benzerlik istenir öyle bişey yokki

Kod: Tümünü seç

'INSERT INTO hesap (kim,aidat,yakit,ay,yil) values'+'('+idm+','+QuotedStr(xaidat)+','+QuotedStr(xyakit)+','+QuotedStr(xay)+','+QuotedStr(xyil)+')';
pelitt
Üye
Mesajlar: 148
Kayıt: 18 May 2009 10:06

Re: kaydediyorum fakat tablo yeni hali ile gelmiyor?

Mesaj gönderen pelitt »

çok basit birşeymiş çok teşekkür ettim hallettim sağolun
Cevapla