
İki tablodan birden sorgulama yapmak...
Forum kuralları
Forum kurallarını okuyup, uyunuz!
Forum kurallarını okuyup, uyunuz!
Herkese iyi akşamlar;
Bu sorumda bu konun devamı olduğu için ayrı bir başlık açmadım. O yüzden bunun altına devam ediyorum.
Sorunum şu arkadaşlar, yukarıda çalışan son kod ile rşimşek hocamın dediği gibi left join ile iki tabloyu birbirine bağlarım ve yukarıdaki kod bloğu ile istediğim kayıtları ekrana getirebildim. Şimdiki sorunum şu bu ekrana getirdiğim kayıtların bir, iki alanında bilgi değiştirmek istiyorum. Ama bir türlü başaramadım. Edit-post yöntemi ile denedim olmadı. Update Set ile denedim yine olmadı. Nasıl bir kod bloğu ile acaba istediğim alanları güncelleyebilirim. Sorgulamadan sonra ekrana gelen sonucu aşağıdaki kod ile başka bir forma taşıyorum.
ama buradan değiştirmek istediğim alanları nasıl değiştiririm. Bu konuda da yardımcı olabilirseniz çok sevinirim. Allah cümlenizden razı olsun...
Bu sorumda bu konun devamı olduğu için ayrı bir başlık açmadım. O yüzden bunun altına devam ediyorum.
Sorunum şu arkadaşlar, yukarıda çalışan son kod ile rşimşek hocamın dediği gibi left join ile iki tabloyu birbirine bağlarım ve yukarıdaki kod bloğu ile istediğim kayıtları ekrana getirebildim. Şimdiki sorunum şu bu ekrana getirdiğim kayıtların bir, iki alanında bilgi değiştirmek istiyorum. Ama bir türlü başaramadım. Edit-post yöntemi ile denedim olmadı. Update Set ile denedim yine olmadı. Nasıl bir kod bloğu ile acaba istediğim alanları güncelleyebilirim. Sorgulamadan sonra ekrana gelen sonucu aşağıdaki kod ile başka bir forma taşıyorum.
Kod: Tümünü seç
with mfsatisfrm do
Begin
dxDateEdit1.Text := DateToStr (ustablefaturatarihi.AsDateTime);
dxEdit1.Text := ustablefaturano.AsString;
dxEdit2.Text := ustablecunvan.AsString;
dxEdit3.Text := ustableucinsi.AsString;
dxEdit4.Text := ustableserino.AsString;
dxEdit5.Text := ustablebarkod.AsString;
ShowModal;
End;
Var olmaya değer her şey bilinmeye de değerdir. Çünkü bilgi varlığın bir imgesidir. Onda iyi ve kötü aynı anda bulunmaktadır...
Hocam veritabanı MySQL kullanıyorum. Update SQL ile denedim ama istediğim update kodunu bir türlü oluşturamadım. Kısaca bir örnek yazabilirmisiniz acaba mümkünse?
Şimdiden çok tşk ediyorum. Allah razı olsun...
Saygılar...
Şimdiden çok tşk ediyorum. Allah razı olsun...
Saygılar...
Var olmaya değer her şey bilinmeye de değerdir. Çünkü bilgi varlığın bir imgesidir. Onda iyi ve kötü aynı anda bulunmaktadır...
Hangi bileşen setini kullanıyorsun
Normalde select sorgu cümlesi karışık olunca RequestLive özelliğini True yaparak edit modda kullanabilirsiniz. Dah karışık (JOIN li veya birden fazla tablo kullanımında vb.) daha farklı yöntemler kullanmak gerekiyor

Normalde select sorgu cümlesi karışık olunca RequestLive özelliğini True yaparak edit modda kullanabilirsiniz. Dah karışık (JOIN li veya birden fazla tablo kullanımında vb.) daha farklı yöntemler kullanmak gerekiyor

Bilgiyi paylaşarak artıralım! Hayatı kolaylaştıralım!!
Günaydınlar;
Hocam notmal Query kullanıyorum. Requestlive özelliğini true yaparak da denemek adına bir sql cümlesi yazdım ama başaramadım hocam. Nasıl bir sql kodu yazmam gerektiği hakkında akşamdan beri düşünmeme rağman bulamadım
Hocam notmal Query kullanıyorum. Requestlive özelliğini true yaparak da denemek adına bir sql cümlesi yazdım ama başaramadım hocam. Nasıl bir sql kodu yazmam gerektiği hakkında akşamdan beri düşünmeme rağman bulamadım

Var olmaya değer her şey bilinmeye de değerdir. Çünkü bilgi varlığın bir imgesidir. Onda iyi ve kötü aynı anda bulunmaktadır...
Query ile olmaz.. Dediğim gibi sade yapıdaki sorgularda ancak RequestLive True diyebilirsiniz.. Onun haricinde üzerinde gezindiğiniz kayıtlarda başka bir yöntemle mesela kayıta ulaşmayı sağlayan anahtar alandan örnek bir table olarak da arka planda tabloyu açıp kayıtı güncelleyebilirsin.. Firebird için bu işleri IBX veya FIBPlus bileşen seti, IBX de UpdateSQL bileşeni veya FIBPlus da UpdateSQL cümleciği ile kolaylıkla hallediyor 

Bilgiyi paylaşarak artıralım! Hayatı kolaylaştıralım!!
Hocam peki query'nin yani dataacces'in updatesql'i ile olmaz mı? Eğer bununla da olmuyor ise benim bu şekilde olan bir kaydı nasıl güncellemem gerekiyor. Yani bu etaptan sonra ne yapabilirim? 

Var olmaya değer her şey bilinmeye de değerdir. Çünkü bilgi varlığın bir imgesidir. Onda iyi ve kötü aynı anda bulunmaktadır...
Hocam UpdateSQL bileşenini bu zamana kadar hiç kullanmadım. Acaba bunun kullanımı ile ilgili biraz bilgi verebilirmisiniz. Yada mümkünse şu andaki olaya bu UpdateSQL bilşenini bağlayıp nasıl kullanabileceğim hakkında bir bilgi verebilirseniz çok memnun olurum.
Allah cümlenizden razı olsun...
Allah cümlenizden razı olsun...
Var olmaya değer her şey bilinmeye de değerdir. Çünkü bilgi varlığın bir imgesidir. Onda iyi ve kötü aynı anda bulunmaktadır...
UpdateSQL sade olmayan karmaşık dediğimiz türdeki SELECT yapıları için kullanılır. Yoksa basit SELECT yapılarında (select * from employee gibi) RequestLive i True yapmak yeterli olur.
BDE nin UpdateSQL bileşenini forma ekleyip hazırladığın Query bileşenine bağladıktan sonra UpdateSQL bileşenine sağ tuş yapıp en üstteki Update Editor.. seçiyorsun. Daha sonra gerekli esas tabloyu belirtip anahtar/key alanını da belirledikten sonra Generate SQL ile gerekli Insert/Update/Delete SQL leri oluşturulur. Gerekiyorsa ufak tefek müdahaleler yapabilirsin... Birden fazla tabloda kayıt işlemleri yapılır mı dersen hiç denemedim. Bu bahsettiklerim sadece esas/ilk tablo için geçerli
BDE nin UpdateSQL bileşenini forma ekleyip hazırladığın Query bileşenine bağladıktan sonra UpdateSQL bileşenine sağ tuş yapıp en üstteki Update Editor.. seçiyorsun. Daha sonra gerekli esas tabloyu belirtip anahtar/key alanını da belirledikten sonra Generate SQL ile gerekli Insert/Update/Delete SQL leri oluşturulur. Gerekiyorsa ufak tefek müdahaleler yapabilirsin... Birden fazla tabloda kayıt işlemleri yapılır mı dersen hiç denemedim. Bu bahsettiklerim sadece esas/ilk tablo için geçerli

Bilgiyi paylaşarak artıralım! Hayatı kolaylaştıralım!!
Hocam tarifinizle sonunda updatesql bileşenini nasıl bağlayacağımı buldum. Çok tşk ediyorum bağladıktan sonraki resimlerini ekledim acaba sql cümlesinin ve değiştirmek istediğim alanların bağlantısı ve sql cümlesi doğru mu acaba birde verileri değiştirmek için kullandığım kodu aşağıda yazıyorum. Bu şekilde iken hata vermiyor ama update'te etmiyor istediğim alanları. Acaba nerede yanlış yapıyorum.
Resim 01:

Resim 02:

Değiştirmek için kullandığım kod ise;
İlginiz için çok tşk ediyorum. Allah cümlenizden razı olsun...
Resim 01:

Resim 02:

Değiştirmek için kullandığım kod ise;
Kod: Tümünü seç
procedure Tmfsatisfrm.satis;
begin
With faturasizsatisfrm do
Begin
ustable.Edit;
ustablesatilankisi.AsString := dxEdit6.Text;
ustablesatistarihi.AsString := dxdateedit1.Text;
ustablesatisfiyat.Ascurrency := dxcurrencyedit1.Value;
ustable.Post;
End;
Close;
end;
Var olmaya değer her şey bilinmeye de değerdir. Çünkü bilgi varlığın bir imgesidir. Onda iyi ve kötü aynı anda bulunmaktadır...
Yaptıklarında normal olmayan bir durum farkedemedim. Malum Query bileşeni için güncelleme olaylarında Query yi kapatıp açmadan yapılan değişiklikleri algılaması zor gibi.. Yani Firebird deki commit/Commitraining olayı gibi.. Yine de Database ve Session bileşeleri ile bir şeyler yapabilirsin belki. Ayrıca My-Sql ile fazla bir tecrübem yok. Genelde My_Sql için Zeos bileşenleri tavsiye edilir 

Bilgiyi paylaşarak artıralım! Hayatı kolaylaştıralım!!