Sadece bir stored procedure ile işlemleri yapmak doğru mu???

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
R.K.
Üye
Mesajlar: 82
Kayıt: 02 Nis 2007 12:05
Konum: Adana

Sadece bir stored procedure ile işlemleri yapmak doğru mu???

Mesaj gönderen R.K. »

İyi çalışmalar. Arkadaşlar sp leri öğrenmek için basit bir vt ve arayüz hazırladım. Şöyleki :
URUN_ID INTEGER
URUN_AD VARCHAR
BARKOD
ben herşeyi splerle yapmak istiyorum. Bu yüzden 1 adet insert sp, 1 adet delete sp ve 1 adette update sp yaptım. datamodul üzerinede 1 adet ibstoredproc ekledim. spname isminde global bir değişken tanımladım ve yapacağım işleme göre (insert ise SP_URUN_EKLE, delete SP_URUN_SIL vs.) bu değişkene sp ismini atıyorum ve KAYDET butonundan da spye bunu parametre olarak gönderiyorum. Yani

Kod: Tümünü seç

  dm.IBStoredProc1.Prepare;
  dm.IBStoredProc1.StoredProcName:=spname;
  dm.IBStoredProc1.ParamByName('URAD').AsString:=Edit1.Text;
  dm.IBStoredProc1.ParamByName('BARKOD').AsString:=Edit2.Text;
  dm.IBStoredProc1.ExecProc;
  dm.IBStoredProc1.UnPrepare;
gibi. Her işlem için SP yi böyle kullanmam doğru bir yaklaşım mı? :?: Şimdi hocalarıma soruyorum sizler nasıl yöntemler kullanıyorsunuz nasıl bir yol izlemeliyim. Tabikide vt tek tablodan oluşmuyor bunuda düşünürsek galiba benim yöntem biraz zahmetli :( Acemi olduğum çok mu belli :D Kolay gelsin
Kullanıcı avatarı
huseyinkucuk
Üye
Mesajlar: 142
Kayıt: 29 Nis 2005 10:03
Konum: İstanbul
İletişim:

Mesaj gönderen huseyinkucuk »

Henüz 'hoca' sayılmam ama naçizane fikrimi söylemek istedim;

Stored Proc'ları öğrenmek adına iyi olabilir ama pratik olmadığı kanısındayım... Saygılar...
29.04.2005 tarihi itibariyle Delphi öğrenmeye başlayan yeni bir kullanıcı sayılabilirim.
Kullanıcı avatarı
mussimsek
Admin
Mesajlar: 7605
Kayıt: 10 Haz 2003 12:26
Konum: İstanbul
İletişim:

Mesaj gönderen mussimsek »

Yerine göre SP ile kayıt ekleme, silme vs. yapmakla birlikte normal veri girişleri için IBDataset kullanıyorum. Bence en uygunu bu.

Kolay gelsin.
R.K.
Üye
Mesajlar: 82
Kayıt: 02 Nis 2007 12:05
Konum: Adana

Mesaj gönderen R.K. »

Yani burdan anladığım normal basit ekleme işlemleri için ibdataset kullanmam daha iyi. Mustafa hocam özellikle size birşey sormak istiyorum bu hep aklımı karıştırdı. Elimde Ruhver Barengi'nin, Zeydin Pala'nın, Nihat Demirli'nin ve onlarca döküman var. Bazıları sadece query bileşeni ve sql kullanarak işlerin yapılmasının daha sağlıklı olacağını yani ibdaset veya ibquery bağlayıp veri bilinçli bileşenlerle (dbedit,dbmemo) kayıt eklerken

Kod: Tümünü seç

ibquery.append
yapmanın çok da verimli bir yöntem olmadığını söylüyor. Bunun yerine ibqery'e sql cümleciği olarak göndermek normal editler ve bileşenler kullanmanın (veri bilinçli olmayan) daha iyi bir yöntem olduğundan bahsediyor. Hatta tam hatırlamıyorum ama delphiturkiyede de olabilir hatırladığım kadarıyla şöyle bir yazı vardı.
Biz değil miyiz datamodule eklediğimiz bileşenlere tıklayıp statik alanları ekleyen, formlardaki bileşenleri bunlara bağlayan vs..
bu yazıda sanki böyle bir programlama yaklaşımının yanlış olduğu anlamı çıkıyor. Oysa bu kitaplarda en verimli çalışmanın dinamik alanlarla değilde statik alanları oluşturarak olduğundan bahsediliyor hep. Şimdi benim gibi bir aceminin bu kadar farklı şeyler duyması doğal olarak aklını karıştırmaz mı :?: Umarım Fahrettin Abi, Mustafa Abi, Terminatör Hocam bu mesajı görürde yorum yapar. En azından bende hhııımm demek şu mantıkta yazmak en uygunu der ve kendimi ona göre geliştiririm. Hepinize kolay gelsin.
Kullanıcı avatarı
aslangeri
Moderator
Mesajlar: 4322
Kayıt: 26 Ara 2003 04:19
Konum: Ankara
İletişim:

Mesaj gönderen aslangeri »

s.a.
hocam bu birazda programı yazan kişiye bağlı.
eğer kendini yeterli görüyorsan sql kullanmak daha güzel.
ama başlangıçtaysan veri bilinçli bileşenler kullanmanı tavsiye ederim.
sadece bu iki kriter değil tabiki programa göre gerekli kriterleri kontrol edip ona göre uygun olan bileşen/bileşenleri kullanman lazım.
programın bir noktasında dbedit kullanırken bir noktasında normal editler kullanabilirsin.
Duyduğun Şeylerin Söylediklerim Olduğuna Eminim Ama
Anladığın Şeylerin Anlatmak İstediklerim Olduğuna Emin Değilim
Kullanıcı avatarı
mussimsek
Admin
Mesajlar: 7605
Kayıt: 10 Haz 2003 12:26
Konum: İstanbul
İletişim:

Mesaj gönderen mussimsek »

Merhaba,

Bence normal TEdit vs kullanıp, bunları kullanıcı değiştirdi mi? bilgi girdi mi vs. diye kontrollerini yapmak bir sürü zahmet ve gerek yok. Neticede IBDataset bileşeni de siz kayıt eklerken/değiştiriken girdiğiniz bilgileri bir "insert into" veya "update" cümlesi yapıp gönderiyor.

Şahsi tercihim yukarda belirttiğim gibi. Ama yeri geldiği zamanda TEdit kullanıp, kendim SQL cümlesi oluşturma metodunu da kullanıyorum.

Önemli olan sizin kodu daha sonra anlayabileyeceğiniz şekilde, bakımı kolay bir kod yazmanız. O yöntemi tercih ediyorsanız onu da kullanabilirsiniz.

Kolay gelsin.
Cevapla