adouery delete sorgusu oluşturmada hata
Forum kuralları
Forum kurallarını okuyup, uyunuz!
Forum kurallarını okuyup, uyunuz!
adouery delete sorgusu oluşturmada hata
S.a
bir kaydet butonum var birde düzenle butonum var.
kaydet butonuna basınca geliş numarası ile fiyat tabloya kayıt ediliyor.Güncelle butonuna bastığında daha önceden kayıt edilmiş kaydı silicek tekrar kaydet butonuna basınca yine fiyatı tabloya kayıt edicek.Ama sorun yaşadım.Kodlar şöyle ;
kaydet butonu
adotoplamfiyat.insert;
adotoplamfiyattoplam_muayene_fiyati.asstring:=edit3.text; (mesela 10)
adotoplamfiyatgelis_no.asstring:=dbedit4.text; (mesela 5)
adotoplam.post;
güncelle butonu
burda geliş numarasi 5 olan kayıtı sildirmem lazım.
sonra tekrar kaydet butonuna bastığımda edit3.ün içindeki yeni fiyatı tabloya yine o geliş numarası ile kayıt ettiricem.
Bu konuda yardımcı olabilirmisiniz bana?
bir kaydet butonum var birde düzenle butonum var.
kaydet butonuna basınca geliş numarası ile fiyat tabloya kayıt ediliyor.Güncelle butonuna bastığında daha önceden kayıt edilmiş kaydı silicek tekrar kaydet butonuna basınca yine fiyatı tabloya kayıt edicek.Ama sorun yaşadım.Kodlar şöyle ;
kaydet butonu
adotoplamfiyat.insert;
adotoplamfiyattoplam_muayene_fiyati.asstring:=edit3.text; (mesela 10)
adotoplamfiyatgelis_no.asstring:=dbedit4.text; (mesela 5)
adotoplam.post;
güncelle butonu
burda geliş numarasi 5 olan kayıtı sildirmem lazım.
sonra tekrar kaydet butonuna bastığımda edit3.ün içindeki yeni fiyatı tabloya yine o geliş numarası ile kayıt ettiricem.
Bu konuda yardımcı olabilirmisiniz bana?
Re: adouery delete sorgusu oluşturmada hata
Güncelleme işlemi için neden silme/ekleme silsilesini kullanmak istiyorsunuz anlamadım.!
Re: adouery delete sorgusu oluşturmada hata
çünkü kaydet e bastığımda aynı geliş numarasıyla birden fazla fiyat eklenebiliyor onun için eskisini silip yenisini kayıt edicem yada update de edebilirim ama bunu koda nasıl dökücem onu bilmiyorum..thelvaci yazdı:Güncelleme işlemi için neden silme/ekleme silsilesini kullanmak istiyorsunuz anlamadım.!
Re: adouery delete sorgusu oluşturmada hata
Sizin için doğru yanıt update etmek olmalıdır özel bir nedeniniz yok ise Delete/Insert için. Update'i veritabanı tarafında bir stored procedure vasıtası ile yapabileceğiniz gibi Delphi tarafında bir query bileşeni ile de yapabilirsiniz. Yada daha basiti; TDataSet türevine Edit komutunu verip ardından güncellenecek alanlarınıza değerlerinizi yazıp Post metoduna da çağrıda bulunabilirsiniz tabii..
Re: adouery delete sorgusu oluşturmada hata
bunu koda dökemiyorum işte bilmediğimden.thelvaci yazdı:Sizin için doğru yanıt update etmek olmalıdır özel bir nedeniniz yok ise Delete/Insert için. Update'i veritabanı tarafında bir stored procedure vasıtası ile yapabileceğiniz gibi Delphi tarafında bir query bileşeni ile de yapabilirsiniz. Yada daha basiti; TDataSet türevine Edit komutunu verip ardından güncellenecek alanlarınıza değerlerinizi yazıp Post metoduna da çağrıda bulunabilirsiniz tabii..
yardımcı olurmusunuz kod kısmında.
Re: adouery delete sorgusu oluşturmada hata
Kod: Tümünü seç
adotoplamfiyat.Edit;
adotoplamfiyattoplam_muayene_fiyati.asstring:= istediğiniz bir değer;
adotoplamfiyatgelis_no.asstring:=istediğiniz bir değer;
adotoplam.post;
Re: adouery delete sorgusu oluşturmada hata
böyle sadece toplam fiyatı kayıt etmiş oluyorum.bana şu lazımthelvaci yazdı:Yapacağınız iş bu kadar..Kod: Tümünü seç
adotoplamfiyat.Edit; adotoplamfiyattoplam_muayene_fiyati.asstring:= istediğiniz bir değer; adotoplamfiyatgelis_no.asstring:=istediğiniz bir değer; adotoplam.post;
gelis numarasi istediğim değer olan kayıtın toplam fiyat bilgisini güncelle.bunu yapmaya çalışıyorum.yani bir şart lazım şart da geliş numarası benim istediğim kayıt olacak ve bu kayıtın toplam fiyatını değiştiricem.
Re: adouery delete sorgusu oluşturmada hata
Update Tablom
Set
Alan1 = Deger1,
Alan2 = Deger2
Where Alan3 = Kriter1 and Alan4 = Kriter2
gibi bir SQL yazarak çözemiyor musunuz ?
Set
Alan1 = Deger1,
Alan2 = Deger2
Where Alan3 = Kriter1 and Alan4 = Kriter2
gibi bir SQL yazarak çözemiyor musunuz ?
Re: adouery delete sorgusu oluşturmada hata
thelvaci yazdı:Update Tablom
Set
Alan1 = Deger1,
Alan2 = Deger2
Where Alan3 = Kriter1 and Alan4 = Kriter2
gibi bir SQL yazarak çözemiyor musunuz ?
ADOtoplamfiyat.Close;
ADOtoplamfiyat.SQL.Text:='update toplam_muayene_fiyati set toplam_muayene_fiyati like '''+ edit3.Text +''' where gelis_no=:gelis';
ADOtoplamfiyat.Parameters.ParamByName('gelis').Value:=dbedit4.Text;
ADOtoplamfiyat.Open;
böyle yaptım olmadı
update deyimin de söz dizimi hatası

Re: adouery delete sorgusu oluşturmada hata
Kod: Tümünü seç
set toplam_muayene_fiyati like '''+ edit3.Text +'''
Kod: Tümünü seç
set toplam_muayene_fiyati='''+ edit3.Text +'''
Bir kelimenin anlamını öğretsen bile yeter..



Re: adouery delete sorgusu oluşturmada hata
şimdi ben şöyle bir şey kullandım güncelle butonuna bastiğimda islem='tahsilatı_guncelle'; diye bir kod çalışıyorconari yazdı:like şeklinde bir deyim olmazKod: Tümünü seç
set toplam_muayene_fiyati like '''+ edit3.Text +'''
Kod: Tümünü seç
set toplam_muayene_fiyati='''+ edit3.Text +'''
kaydet butonuna basınca da if islem='tahsilatı_guncelle' then
begin
ADOtoplamfiyat.Close;
ADOtoplamfiyat.SQL.Text:='update toplam_muayene_fiyati set toplam_muayene_fiyati='''+ edit3.Text +''' where gelis_no=:gelis';
ADOtoplamfiyat.Parameters.ParamByName('gelis').Value:=dbedit4.Text;
ADOtoplamfiyat.Open;
end;
bunlar çalışıyor.yani eğer bir düzeltilme yapılacaksa tablodaki o kayıtı güncelle.
şöyle bir hata aldım ama "geçerli sağlayıcı tek yürütmeden,birden çok kayıt dizisi döndürmeyi desteklemiyor."
Re: adouery delete sorgusu oluşturmada hata
ADOToplamFiyat.Open yerine ADOToplamFiyat.ExecSQL kullanın.
Re: adouery delete sorgusu oluşturmada hata
çok teşekkür ederim sonunda bu güncelleme işini de yapmış oldum.thelvaci yazdı:ADOToplamFiyat.Open yerine ADOToplamFiyat.ExecSQL kullanın.
bilmek isteyenler için kodları veriyorum.
Kaydet Butonu İçin
procedure TForm2.BitBtn2Click(Sender: TObject);
begin
if islem1='tahsilati_duzenle' then
begin
ADOtoplamfiyat.Close;
ADOtoplamfiyat.SQL.Text:='update toplam_muayene_fiyati set toplam_muayene_fiyati='''+ edit3.Text +''' where gelis_no='''+dbedit4.Text+''' ';
ADOtoplamfiyat.execsql;
end else
begin
ADOtoplamfiyat.Insert;
ADOtoplamfiyattoplam_muayene_fiyati.AsString:=edit3.Text;
ADOtoplamfiyatgelis_no.AsString:=dbedit4.Text;
ADOtoplamfiyat.post;
end;
edit3.Enabled:=false;
bitbtn2.Enabled:=false;
end;
Güncelle Butonu için
islem1:='tahsilati_duzenle';