Walleq's Blog
Ana Sayfa Profilim Arşiv İletişim
.:. Burn Me Alive .:.

Loading



22 Kasım 2008 Cumartesi
Kategori: Yazılım
Yazar : Walleq, 0 yorum var, 574 defa okunmuş.
Etiket : MySQL ASP Veritabani Access
    Yeni uğraşlarımdan biri de MySQL veritabanları. Şu an üzerinde çalıştığım bir kaç ASP projede Microsoft Access veritabanı kullanıyorum. Ancak 50.000 kayıtlı projemde ciddi performans sorunları ile karşılaştığım için kendi bilgisayarımda bu proje için alternatif çözümler aramaya başladım. İlk aklıma gelen kullandığım veritabanı sistemini değiştirmem gerektiğiydi. Bende sistemime bir MySQL server kurdum ve Access veritabanımdaki 50.000 kayıtı yeni bir MySQL veritabanına aktardım. Projemi bu şekilde çalıştırdığımda ortaya çıkan ciddi performans artışı beni inanılmaz mutlu etti. Bende ortaya çıkan performans artışını gördükten sonra artık yeni projelerimde Ms Access kullanmaktan vazgeçtim. Tabi hosting paketimin MySQL desteğinin bulunmayışı sebebi ile hali hazırda elimde bulunan MySQL destekli projemi hayata geçiremiyorum ancak bu bana Microsoft SQL Server’dan yararlanmam gerektiği konusunda bir uyarı oldu. Ancak bu yazıda MySQL ’e devam.

    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?
<%
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ı"
%>
Evet kodları biraz açıklayacak olursak,
    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











Kategoriler
Son Yazılarım
» Taşınabilir ASP Web Server
» Portable VirtualBox 1.6.2
» PHP ile E-Mail Geçerlilik Kontrolü
» MySQL Türkçe Karakter İlk Harf Sıralaması
» Smarty Template Engine Süslü Parantez Sıkıntısı
Etiket Bulutsusu
Son Yorumlar
mehmet
» Teşekkürler işimize yarayacak ...<
Yusuf Çiçek
» Guzel PayLasım emeqine saqLık.... Www.So
F. Korkmaz
» Güzel bir paylaşım olmuş. Güncel bir Sit
cizgiperde
» bende kullanıyorum gayet güzel bir host
gokhan colak
» Bana kaynak kodlarını yollar mısın ? nas
Bağlantılar
» isimler
» ABD de Yaşam
» Ferruh Mavituna Blog
» Osmanlica Türkçe Sözlük
» Kişisel Güncem
» Ergene.NET - Renk Katar
Blog Takip Sistemi

E-Mail İle Blog Takibi :


Coded And Designed By Walleq