Connection (Bağlantı) Nesnesi
Bir veri tabanından veri alabilmek ya da yazabilmek için önce veri tabanına bağlantı oluşturmak gerekir. Bir bağlantı DSN (Data Source Name) veya DSN siz olmak üzere iki türlü yapılır. DSN li bağlantıda Denetim Masasından ODBC (Open Database Connectivity/Açık Veritabanı Bağlantısı) den veri tabanına bir isim verilir. ASP programı içerisinden bu isimle veri tabanına bağlanılır. DSN sizde ise veri böyle bir ayarlama yapmaya gerek yok veritabanın türü ve yolu ASP kodları arasında tanımlanır.
Veri tabanına bağlantı için bağlantı nesnesi tanımlanmalıdır;
<%
Dim bagObj
Set bagObj=Server.CreateObject("ADODB.Connection")
%>
ConnectionString Özelliği
ConnectionString bağlanacağımız veri tabanı dosyasının sürücü adı, dosyanın yolu, kullanıcı adı ve şifresi bilgileri tutulur. Open metodu ile açılır.
<%
Dim bagObj
Set bagObj=Server.CreateObject("ADODB.Connection")
bagObj.ConnectionString="Driver={Microsoft Access Driver (*.mdb)};" &_
"DBQ="& Server.MapPath("telefon.mdb") & ";" &_
"UID=Yönetici; PWD=123456"
bagObj.Open
%>
Execute Metodu
ADO kullanarak veri tabanından veri almanın üç yöntemi vardır. Bunların hepsi bir bağlantı gerektirir. Bu yöntemlerden en basiti Connection nesnesinin Execute metodudur. Yapılan bağlantı üzerinde yürütülecek SQL cümlesi Connection nesnesinin Execute metodu ile yürütülür. Bu metod SQL sorgusundan eğer bir kayıt kümesi (RecordSet) dönüyorsa bu kayıt kümesini geri döndürür. Aslında dönen değer bir nesnedir. Bu nesneye RecordSet nesnesi denir. Execute metodunun döndürüldüğü RecordSet nesnesi SaltOkunur olup sadece imlecin ileri hareketini destekler.
<%
Dim connObj,SQL,connStr,rsObj
Set connObj=Server.CreateObject("ADODB.Connection")
connStr="Driver={Microsoft Access Driver (*.mdb)};"
connStr=connStr&"DBQ="&Server.MapPath("ornek_vt.mdb")
connObj.ConnectionString=connStr
SQL="SELECT * FROM TbOgrenci"
connObj.Open
Set rsObj=connObj.Execute(SQL)
%>
Yukarıda bağlantı oluşturduğumuz ve tablodan verileri aldığımız kodlardan sonra verileri ekrana yazdırmak için ise şöyle bir kodlama yapabiliriz.
<TABLE>
<TR>
<TH>Adı Soyadı</TH>
<TH>ePosta</TH>
<TH>Telefon</TH>
</TR>
<%
While Not rsObj.Eof
With Response
.Write "<TR>"
.Write "<TD>"&rsObj("Adi")&" "&rsObj("Soyadi")&"</TD>"
.Write "<TD>"&rsObj("ePosta")&"</TD>"
.Write "<TD>"&rsObj("Tel")&"</TD>"
.Write "</TR>"
End With
rsObj.MoveNext
Wend
%>
</TABLE>
<%
connObj.Close
Set rsObj=Nothing
Set connObj=Nothing
%>

Yorumlar
Yorum Gönder