Ms Access ’e son!!! Bundan sonra hazırlayacağım projelerde çok basit bir alt yapı gerektirmediği sürece Ms Access kullanmama kararı aldım. Yazının devamında ASP ’de MySQL ile tablo yaratımı, kayıt girişi, listeleme, düzenleme ve silme işlemlerinin nasıl yapılabileceğine dair kodları bulabilirsiniz.
Gelelim ASP projelerimizde MYSQL veritabanı bağlantılarını nasıl oluşturacağımıza. Aslında prosedür Access bağlantıları oluşturulurken olduğunundan çok farklı değil. Sadece MySQL ile oluşturduğumuz veritabanı bağlantılarında sık kullanılan yöntemlerden bazılarından feragat etmemiz gerekiyor. Örnek : Recordset Objesini bu bağlantılarda kullanamıyoruz. Ancak bunun çok büyük bir kayıp olmadığını söyleyebilirim. Hatta sizi daha fazla satır kod yazmaktan kurtarmakla kalmayıp aynı zamanda daha güvenli kodlar yazmanız içinde bahane oluşturuyor.
Yazının bu bölümünden sonra :
- ASP de MySQL veritabanı bağlantısının nasıl oluşturulabileceği
- Veritabanında yeni bir tablonun nasıl yaratılabileceği
- Tablomuza nasıl yeni kayıt eklenebileceği
- Kayıtların nasıl listelenebileceği
- Kayıtların nasıl düzenlenebileceği
- Kayıtların nasıl silinebileceğinden bahsedilecektir.
Nasıl Yeni bir MySQL bağlantısı oluşturabilirim?
<%Evet kodları biraz açıklayacak olursak,
mysql_server = "localhost"
mysql_user = "root"
mysql_pass = ""
mysql_db = "veritabani"
Set condb = Server.createObject("Adodb.Connection")
condb.Open "DRIVER={MySQL ODBC 3.51 Driver}; SERVER=" & mysql_server & "; UID=" & mysql_user & "; pwd=" & mysql_pass & "; db=" & mysql_db & ";"
condb.Execute "SET NAMES ’latin5’"
condb.Execute "SET Character Set latin5"
condb.Execute "SET collation_connection = ’latin5_turkish_ci’"
Response.Write "Veritabanina bağlantı sağlandı"
%>
mysql_server değişkeninin değeri MySQL veritabanımızın bulunduğu serverın adını taşıyor. Bu değişkenin değeri çok extreme bir durum söz konusu olmadıkça "localhost" olur.
mysql_user = Veritabanı için oluşturduğumuz kullanıcı adımız
mysql_pass = Veritabanı için oluşturulan şifremiz.
mysql_db = Veritabanımızın adı.
Bağlandığımız MySQL Veritabanında nasıl yeni bir tablo yaratabiliriz?
create TABLE ’tbl_calisan’ (
’id’ int(11) NOT NULL auto_increment,
’isim’ varchar(100) default NULL,
’bolum’ varchar(50) default NULL,
’sskno’ bigint(20) default NULL,
PRIMARY KEY (’id’)
) Engine=MyISAM;
Bu kodları derlemek ve kullanabilmek için EMS Sql Manager for MySQL programından yararlanabilirsiniz. (Ücretli fakat son derece kullanışlı ve profosyonel bir program) Ayrıca yukarıdaki kodları fazla irdelemeyeceğim ancak kısaca tbl_calisan isimli bir tablo yarattığımızı ve içerisinde id, isim, bolum, sskno gibi alanların bulunduğunu anlamışsınızdır umarım.
Calisan tablomuza yeni kayıt ekleyelim
<%
condb.Execute("insert INTO tbl_calisan(id,isim,bolum,sskno) VALUES (1, ’Hasan’, ’Güvenlik’, 1111111111);")
condb.Execute("insert INTO tbl_calisan(id,isim,bolum,sskno) VALUES (2, ’Ayşe’, ’Resepsiyon’, 1111111112);")
Response.Write("Veritabanımıza iki kayıt eklemiş bulunuyoruz")
%>
Evet burada da anlatılabilecek pek fazla bir şey yok. tbl_calisan isimli tablomuza iki adet kayıt girişi yaptık.
Oluşturduğumuz kayıtları artık listeleyebiliriz.
<%
Set con = condb.Execute("select id,isim,bolum,sskno FROM tbl_calisan;")
Set toplamkayit = condb.Execute("select COUNT (*) AS TOPLAM FROM tbl_calisan;")
Response.Write("Toplam Kayıt = " & toplamkayit("toplam"))
for i = 1 to Cint(toplamkayit("toplam"))
kayit = "<br/>id = " & con("id") & "<br />isim = " & con("isim") & _
"<br />bölümü = " & con("bolum") & "<br />SSK No = " & con("sskno") & "<br/><br/>"
Response.Write kayit
next
Set con = Nothing
Set toplamkayit = Nothing
%>
Şimdi oluşturduğumuz kayıtlardan ilkini düzenleyelim
<%
condb.Execute("update tbl_calisan SET isim=’Serhan’, bolum=’Ulaşım’ where id=1;")
Response.Write "ID değeri 1 olan kayıt değiştirilmiştir"
%>
Artık kayıtlardan birini silme zamanı geldi.
<%
condb.Execute("delete FROM tbl_calisan where id=2;")
Response.Write "2 Numaralı kayıt silinmiştir"
%>
Bu makalenin MySQL ile çalışmayı düşünen arkadaşlara giriş seviyesinde yararlı olabileceğini düşünüyorum. Hepinize kolay gelsin