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;