KlavyeSende.CoM
Eylül 07, 2008, 03:25:41 ÖÖ *
Merhaba, Ziyaretçi. Lütfen giriş yapın veya üye olun.

Kullanıcı adınızı, parolanızı ve aktif kalma süresini giriniz
  KlavyeSende.Com | Artık Klavye Sende !
 
Ana Sayfa Yardım Ara Admin Admin Admin Giriş Yap Kayıt  
Sayfa: [1]
  Yazdır  
Gönderen Konu: Delphi ile ADO Kullanımı  (Okunma Sayısı 176 defa)
0 Üye ve 1 Ziyaretçi konuyu incelemekte.
Ocak 22, 2007, 07:23:57 ÖS  |  Uyarı : Dikkat bu Administrator mesajıdır |
ChaR
Administrator
********

Üye Bilgileri
Üye ID: 1

Mesaj Sayısı: 2593

Nerden: Bilmem Sence Nerden ;)

Cinsiyet: Bay

Rep : 136
Offline Offline

« Not Found Keyboard »

Durumum:


Üyelik Bilgileri WWW

Resimlerin Görüntülenmesine İzin Verilmiyor
Resimleri Görebilmek İçin Üye Ol veya Giriş Yap

Delphi ile ADO Kullanımı
Veri tabanlarına erişim için delphi üzerinden TTable ya da TQuery bileşenlerinden uzun zamandır faydalanmaktayız. Delphi 5 ile gelen ADO teknolojisi hali hazırda sadece Delphi’nin Enterprise edition tarafindan desteklenmektedir. Aşağıda anlatmaya çalışacağım yöntem sayesinde Delphi’nin ADO bileşenlerine ihtiyaç duymadan nasıl kullanılabileceği anlatılmaktadır.
Ado’nun RecordSet objesinden faydalanarak veri tabanlarına erişebilmemiz mümkün, ancak bu iş için özellikle bir dll’den yararlanmamız gerekmekte. “msado15.dll”. Bu Dll bilgisayarınızın “C:\Program Files\Common Files\System\ado” yolunda bulunması gerekmektedir. Yazının sonunda size verilecek olan .zip uzantılı dosyada bu Dll dosyasına erişmenizi sağlayacak unit dosyası verilecektir. Tek yapmanız gereken şey bu unit dosyasını ” C:\Program Files\Borland\Delphi5\Lib” klasörüne kopyalamanızdır. Gelelim şimdi erişimin nasıl sağlanacağına.
Aşagıda ki örnek program bir access veri tabanına OLE ve Variant tekniklerini kullanarak erişmemizi sağlamaktadır.

Kod:
interface
uses
Windows, Messages, SysUtils,Classes, Graphics, Controls,Forms, Dialogs, StdCtrls,
ComObj, Grids, ADODB_TLB,ExtCtrls;
const
SQLSTRING = ‘SELECT * FROM full_lex Where PHON='’bone”’;
//Data Source’de belirtilen dosya program ile ayni klasörde bulunmakta, aksi helde yol tanimi yapmamiz gerekmektedir.
DSN = ‘Provider=Microsoft.Jet.OLEDB.4.0;Data Source=full_lex.mdb’;
type
TForm1 = class(TForm)
StringGrid1: TStringGrid;
Panel1: TPanel;
VariantBtn: TButton;
OleBtn: TButton;
UpdateBtn: TButton;
Edit1: TEdit;
procedure VariantBtnClick(Sender: TObject);
procedure OleBtnClick(Sender: TObject);
procedure UpdateBtnClick(Sender: TObject);
procedure StringGrid1SelectCell(Sender: TObject; ACol, ARow: Integer;var CanSelect: Boolean);
private
procedure Display(RecordSet: _RecordSet);
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
uses
ActiveX;
{$R *.DFM}
procedure TForm1.VariantBtnClick(Sender: TObject);
var
RecordSet: OleVariant; // Obje tanimlaniyor
y, art: Integer;
begin
// Bos recordset objesini olustur:
RecordSet := CreateOleObject(’ADODB.Recordset’);
// recordset objesini doldur.
RecordSet.Open(SQLSTRING, DSN);
// verileri görüntüle
Y := 1;
repeat
for art := 0 to 4 do
StringGrid1.Cells[art, Y] := RecordSet.Fields[art].Value; //veri tabanindaki field sayisi
RecordSet.Move(1);
Inc(Y);
until RecordSet.EOF;
end;
procedure TForm1.Display(RecordSet: _RecordSet);
var
Y,arti: Integer;
begin
Y := 1;
repeat
for art := 0 to 4 do //veri tabanindaki field sayisi
StringGrid1.Cells[art, Y] := RecordSet.Fields[art].Value;
RecordSet.Move(1, EmptyParam);
Inc(Y);
until RecordSet.EOF;
end;
procedure TForm1.OleBtnClick(Sender: TObject);
var
RecordSet: _RecordSet; // Obje tanimlaniyor
begin
// Bos recordset objesini olustur:
OleCheck(CoCreateInstance(CLASS_RecordSet, nil, CLSCTX_ALL, IID__RecordSet, RecordSet));
// recordset objesini doldur.
RecordSet.Open(SQLString, DSN, adOpenForwardOnly, adLockReadOnly, adCmdUnspecified);
// verileri görüntüle
Display(RecordSet);
UpdateBtn.Enabled := True;
end;
procedure TForm1.StringGrid1SelectCell(Sender: TObject; ACol,
ARow: Integer; var CanSelect: Boolean);
begin
Edit1.Text := StringGrid1.Cells[ACOl, ARow];
end;
end.

alıntıdır..
Logged

Resimlerin Görüntülenmesine İzin Verilmiyor
Resimleri Görebilmek İçin Üye Ol veya Giriş Yap

Herkes dalgasına baksın ,
Ama benim dalgamda boğulmasın ,
Bilsin ki yüz verip adam ettiysem ,
Sıfırla çarpar , yok ederim ,
Bu saatten sonra uğraşmam ,
Dünümle ve dünümdekilerle ,
Ben yarına bakarım yanımdakilerle...
Ekim 31, 2007, 01:09:18 ÖS
anaconda_
BanneD
*
Avatar Yok

Üye Bilgileri
Üye ID: 2214

Mesaj Sayısı: 1911

Nerden: anaconda'nın yanından

Cinsiyet: Bay

Rep : 25
Offline Offline

AnaCoNDaa

Durumum:


Üyelik Bilgileri WWW


eLiNe sağLıK
Logged
Şubat 16, 2008, 10:15:15 ÖÖ
Bloq
BanneD
*
Avatar Yok

Üye Bilgileri
Üye ID: 5521

Mesaj Sayısı: 803

Nerden: ~~߀§îKTâ§~~ ℓı ¦~° Pî§KøpÂT °~¦


Rep : 10
Offline Offline

Durumum:


Üyelik Bilgileri WWW


ellerine sağlık
Logged
Sayfa: [1]
  Yazdır  
 
Gitmek istediğiniz yer:  

MySQL ile Güçlendirildi PHP ile Güçlendirildi Powered by SMF 1.1.2 | SMF © 2006, Simple Machines LLC
Seo4Smf v0.2 © Webmaster's Talks
XHTML 1.0 Geçerli! CSS Geçerli!
eXTReMe Tracker