VT' ndaki SP üzerinde Delphi / ADOStoredProc ile çalışalım..

Yazdığınız makaleleri ve üyelerimizin işine yarayacağını düşündüğünüz kodlarınızı gönderebilirsiniz. Bu foruma soru sormayın!
Cevapla
Kullanıcı avatarı
efkan
Üye
Mesajlar: 155
Kayıt: 31 Oca 2004 07:47
Konum: Tekirdağ
İletişim:

VT' ndaki SP üzerinde Delphi / ADOStoredProc ile çalışalım..

Mesaj gönderen efkan »

Aşağıdaki kod ile bir form üzerinde bulunan adi, soyadi, bölümü ve personelid alanları için konulmuş olan Edit ler ve AdoStoredProc yardımı ile kayıt işleminin nasıl yapılacağı belirtilmiştir.
Form üzerine konulan veritabanı bileşenlerin(adotable, AdostoredProc gibi) üzerinde işlem yapmak çoğu zaman dağıtımda ve geriye dönük çalışmalarda zorluk çıkaracağından tüm işlemleri kod ile yapıyoruz. Unutmayalım ki programımızı bir kitap gibi okumak için herşeyi kod ile yapmamız çok avantajlı olacaktır.

Not: Her seferinde ADOStoredProc, ADOTable vs.ler ile bağlantıyı tekrarlamaktansa bir ADOConnection nesnesi koyup bağlantıyı onun üzerinden yapmayı tercih ettim.

Kod: Tümünü seç

procedure Tpersonel.BitBtn1Click(Sender: TObject);
begin
  // Bağlantıyı oluştur..
  ADOStoredProc1.Connection:=ADOConnection1;
  ADOStoredProc1.ProcedureName:='personelkayit';

  // parametreleri sil ve yenilerini oluştur..
  ADOStoredProc1.Parameters.Clear;
  ADOStoredProc1.Parameters.AddParameter.Name:='@adi';
  ADOStoredProc1.Parameters.ParamByName('@adi').DataType:=ftString;
  ADOStoredProc1.Parameters.ParamByName('@adi').Direction:=pdInput;
  ADOStoredProc1.Parameters.ParamByName('@adi').Size:=50;

  ADOStoredProc1.Parameters.AddParameter.Name:='@soyadi';
  ADOStoredProc1.Parameters.ParamByName('@soyadi').DataType:=ftString;
  ADOStoredProc1.Parameters.ParamByName('@soyadi').Direction:=pdInput;
  ADOStoredProc1.Parameters.ParamByName('@soyadi').Size:=15;

  ADOStoredProc1.Parameters.addParameter.Name:='@bolum';
  ADOStoredProc1.Parameters.ParamByName('@bolum').DataType:=ftString;
  ADOStoredProc1.Parameters.ParamByName('@bolum').Direction:=pdInput;
  ADOStoredProc1.Parameters.ParamByName('@bolum').Size:=14;

  ADOStoredProc1.Parameters.addParameter.Name:='@deposorumlusu';
  ADOStoredProc1.Parameters.ParamByName('@deposorumlusu').DataType:=ftString;
  ADOStoredProc1.Parameters.ParamByName('@deposorumlusu').Direction:=pdInput;
  ADOStoredProc1.Parameters.ParamByName('@deposorumlusu').Size:=5;


  if (edit1.Text='') or (edit2.Text='') or (edit3.Text='') then
     begin
       ShowMessage('Lütfen tüm alanları doldurun..');
     end
  else
     begin
        ADOStoredProc1.Active:=false;
        ADOStoredProc1.Parameters.ParamByName('@adi').Value:=edit1.Text;
        ADOStoredProc1.Parameters.ParamByName('@soyadi').Value:=edit2.Text;
        ADOStoredProc1.Parameters.ParamByName('@bolum').Value:=edit3.Text;

           if CheckBox1.Checked=true then
                begin
                    ADOStoredProc1.Parameters.ParamByName('@deposorumlusu').Value:='1';
                end
           else
                begin
                    ADOStoredProc1.Parameters.ParamByName('@deposorumlusu').Value:='0';
                end;
     end;

     ADOStoredProc1.ExecProc;
end;
Bilgisayar Programcısı/Analyst ve Sistem Yöneticisi
Cevapla