Benim asıl üzerinde durmak istediğim Delphi’de ADO adı altında gruplanan kontroller. Birçok kaynakta ADOCommand kontrolünün daha çok geriye bilgi göndermeyen SQL kodlarını işletmek için kullanıldığı işaret edilmektedir. Bazı kaynaklarda ise ADOCommand nesnesinden söz edilirken sanki geriye bilgi göndermediği anlamı çıkarılabilinecek cümleler bulunmaktadır. Gerçekte ADOCommand nesnesi sayesinde istenen SQL kodu işletilebilir.
Bu SQL kodunun içinde SELECT gibi deyimin olmasına ADOCommand’ın bir itirazı yoktur. Çünkü TADOCommand sınıfının Execute metodu geriye “_RecordSet” tipinde bilgi göndermektedir. Delphi üzerine yazılmış kitaplarında ve Web sitelerinde “_RecordSet” tipinden söz edildiğine şimdiye kadar rastlamadım.
Bu konuda bilgi vermek için Delphi ile yeni bir proje hazırlayıp forma 4 Edit, ADOConnection ve ADOCommand nesnesi yerleştirdim. ADOConnection nesnesinin ConnectionString özelliğini aşağıdaki gibi ayarlayıp veritabanına bağlandım.
Kod: Tümünü seç
procedure TForm1.FormCreate(Sender: TObject);
Var
Segment1, Segment2 : String;
Segment3, Segment4 : String;
Segment5, Segment6 : String;
Segment7, Segment8 : String;
Str : String;
begin
Segment1 := 'Provider=SQLOLEDB.1;';
Segment2 := 'Persist Security Info=True;';
Segment3 := 'User ID=sa;';
Segment4 := 'Password=12345678;';
Segment5 := 'workstation id=BILGISAYAR3;';
Segment6 := 'data source=SERVER;';
Segment7 := 'Packet Size=4096;';
Segment8 := 'Initial Catalog=Cari;';
Str := Segment1 + Segment2 + Segment3 + Segment4 +
Segment5 + Segment6 +Segment7 +Segment8 ;
ADOCOnnection1.ConnectionString := Str;
ADOConnection1.Open;
end;
Kod: Tümünü seç
procedure TForm1.FormCreate(Sender: TObject);
Var
Segment1, Segment2 : String;
Segment3, Segment4 : String;
Segment5, Segment6 : String;
Segment7, Segment8 : String;
Str : String;
Komut_metni : String;
begin
Segment1 := 'Provider=SQLOLEDB.1;';
Segment2 := 'Persist Security Info=True;';
Segment3 := 'User ID=sa;';
Segment4 := 'Password=12345678;';
Segment5 := 'workstation id=BILGISAYAR3;';
Segment6 := 'data source=SERVER;';
Segment7 := 'Packet Size=4096;';
Segment8 := 'Initial Catalog=Cari;';
Str := Segment1 + Segment2 + Segment3 + Segment4 +
Segment5 + Segment6 +Segment7 +Segment8 ;
ADOCOnnection1.ConnectionString := Str;
ADOConnection1.Open;
Komut_metni := 'SELECT * FROM Firmalar';
ADOCommand1.CommandText := Komut_metni;
ADOCommand1.Connection := ADOConnection1;
end;
Kod: Tümünü seç
procedure TForm1.FormCreate(Sender: TObject);
Var
Segment1, Segment2 : String;
Segment3, Segment4 : String;
Segment5, Segment6 : String;
Segment7, Segment8 : String;
Str : String;
Komut_metni : String;
Kayit_set : _RecordSet;
begin
Segment1 := 'Provider=SQLOLEDB.1;';
Segment2 := 'Persist Security Info=True;';
Segment3 := 'User ID=sa;';
Segment4 := 'Password=12345678;';
Segment5 := 'workstation id=BILGISAYAR3;';
Segment6 := 'data source=SERVER;';
Segment7 := 'Packet Size=4096;';
Segment8 := 'Initial Catalog=Cari;';
Str := Segment1 + Segment2 + Segment3 + Segment4 +
Segment5 + Segment6 +Segment7 +Segment8 ;
ADOCOnnection1.ConnectionString := Str;
ADOConnection1.Open;
Komut_metni := 'SELECT * FROM Firmalar';
ADOCommand1.CommandText := Komut_metni;
ADOCommand1.Connection := ADOConnection1;
Kayit_set := ADOCommand1.Execute;
Edit1.Text := Kayit_set.Fields[0].Value;
Edit2.Text := Kayit_set.Fields[1].Value;
Edit3.Text := Kayit_set.Fields[2].Value;
Edit4.Text := Kayit_set.Fields[3].Value;
end;