Üye GİRİŞİ

Son eklenen makale ve haberler

  Programlama » ASP

MySQL'e ASP ile Bağlanmak ve Temel Veritabanı İşlemleri

Ceviz.Net Pdf Çıktısı Al
 
Ceviz.Net Doc Çıktısı Al
 

Merhabalar. Değişik Bir şey yapalım istedim. ve aklıma MySQL'e ASP ile bağlanmak ve temel veritabanı işlemlerini yapmak geldi.

İlk önce konuya ısınalım biraz. Aslında herşey aynı. Ancak MySQL , Access ve VB ninbazı komutlarını desteklemiyor. Acaba hangileri çözüm yolları neler? Sadece ASP ile uğraşan arkadaşlar biraz kodlara yabancı kalabilirler.( Hemen korkmayın aslında çok basit ) Mesela RecordSET kavramı ile MySQL veritabanına veri girişi yapamayız. ve move gibi Access de imleç'i hareket ettiren değimler yoktur. Ayrıca NOT değimini de desteklemiyor. Eeee nasıl kullanıcaz derseniz işi yordamına göre yapıcağız.. Yani SQL dilini kullanacağız. RecordSET kavramı ile eklediğimiz verileri insert into... şeklinde move komutu yerine ise limit değimini kullanacağız. Aslında bu kadar basit.Size yabancı gelecek kısım sadece bu kadar... RecordSET yerine Access de de kullanabildiğimiz insert into 'yu kullanacağız.

Hazırlık aşamasına geçeğim isterseniz lafı fazla uzatmadan.ASP ile MySQL'e bağlanırken iki yöntem kullanabiliriz. Birisi SQL Server bağlantı şekline benziyor. Diğeri ise DNS olarak tanımlamak. Her ikisini yapmadan önce MySQL'i  ODBC olarak Windows'a tanımlamak gerekli. Bunun için
http://www.mysql.com/downloads/api-myodbc-3.51.html adresinden MyODBC 3.51 sürümünü indiriyoz. (Bu yazı yazılırken en son sürüm 3.51 di. yeni bir sürüm çıkmış olabilir. yeni bir sürüm yüklerseniz bağlantı işlemlerinde yeni sürüm numarasını kullanmalısınız.) Ben hemen MyODBC-3.51.06.exe 'yi indirip (732 Kb) kurdum. Windows 2000 amcamın kafası karışmasın diye yeniden başlatmayı da unutmadım.

Eeee ne yapalım diye düşünürken (basit bişiler olmalı) Bir telefon defteri yapmaya karar verdim. İlk önce sistemimizde PHP de kurulu ise PhpMyAdmin ile bir veritabanı oluşturalım...(ben php kurmadım diyorsanız MySQL'i  çalıştırıp SQL komutları ile yada http://www.mysqlfront.de/ adresinden MySQLFront 'u indirip access benzeri bir arabirim ile veritabanını oluşturabilirsiniz. Mysql Front ile daha önceden oluşturmuş olduğunuzAccess dosyalarınıda MySQL'e import edebileceğinizi unutmayın)

CREATE TABLE `telefon_rehberi` (
`id` INT( 11 ) NOT NULL AUTO_INCREMENT,
`adsoyad` VARCHAR( 150 ) NOT NULL ,
`is` VARCHAR( 20 ) NOT NULL ,
`ev` VARCHAR( 20 ) NOT NULL ,
`cep` VARCHAR( 20 ) NOT NULL ,
`faks` VARCHAR( 20 ) NOT NULL ,
PRIMARY KEY ( `id` )
);

Yukarıda SQL komutları ile tablomuzu oluşturmanız için gereken kodlar mevcut.

Şu anda sistemimizde MyODBC 3.51 yüklü, ASP adında bir veritabanımız hazır ve bu veritabanımız içinde telefon_rehberi adında bir tablomuzun oluşmuş olduğunu varsayarak devam ediyorum.

İki tür bağlantımızı anlatacağım. İlk önce DNS ile başlayalım.
Denetim Masası => Yönetimsel Araçlar => Veri Kaynakları (ODBC) 'ye gelerek Sistem DNS seçmesine geçelim.Buradan "Ekle" diyerek "MySQL ODBC 3.51 Driver" 'ı seçelim
 



İkinci Adım Olarak;



"Data Source Name" kısmına kodlarımızda kullanacağımız DNS tanımlamasını girelim
DataBase olarakda MySQL üzerinde bulunan kullanmak istediğimiz veritabanı adını yazarım. Host olarak localhost , User olarak root ve şifreyi boş bırakarak devam edelim.



Ok dediğimiz zaman yukarıdaki bigi bir görüntü ile karşılaşmamız gerekiyor.
 

Şimdi Kodlamaya geçelim.

Bağlantı nesnemizi oluşturalım
Set MySQL_Baglanti = Server.CreateObject("ADODB.connection")

Veritabanim = "DRIVER={MySQL ODBC 3.51 Driver}; SERVER=localhost; UID=root; pwd=; db=asp;"
ile ulaşmak istediğimiz veritabanını belirtelim (burada yukarıda Yaptığımız DNS tanımlamasını kullanmıyoruz)
MySQL_Baglanti.Open Veritabanim
satırında ise yukarıda belirtmiş olduğumuz veritabanına bağlanıyoruz.

Tanımladığımız DNS ile bağlanmak isteseydik;

MySQL_Baglanti.Open "Asp"
Komutlarını kullanmamız yeterli olacaktı.

Bağlantımızı yaptıktan sonra verilermizi listelemeye geldi sıra. Onları şimdi ayrınytılı olarak anlatmıyorum. Buradaki amacımız MySQL'e bağlanmaktı. Zaten diğer veritabanları ile aynı şekilde çalışıyor.


<%

Set MySQL_Baglanti = Server.CreateObject("ADODB.connection")
MySQL_Baglanti.Open "Asp"

Sql="select * from telefon_rehberi;"
set Veriler=MySQL_Baglanti.execute(Sql)
iF Veriler.Eof Then
Response.Write "Üzgünüm Şu Anda Telefon Rehberinizde Kayıt Bulunamadı"
else
%>
<table align="center" border="1" >
<tr>
<td>Ad Soyad</td><td>İş Telefonu</td><td>Ev Telefonu</td>
<td>Cep telefonu</td><td>Faks</td>
</tr>
<%
Do While Not Veriler.Eof ' döngü kurduk
%>
<tr>
<td><%=Veriler("Adsoyad")%></td><td><%=Veriler("is")%></td>
<td><%=Veriler("ev")%></td><td><%=Veriler("cep")%></td>
<td><%=Veriler("faks")%></td>
</tr>
<%
Veriler.movenext 'bir sonraki kayıt
Loop ' döngüye devam et..
End iF
%>
</table>

Yukarıdaki kodların çıktısı ;

Ad Soyadİş TelefonuEv TelefonuCep telefonuFaks
Onur Ersin0 312 385 XX XX0 312 354 XX XX0 532 694 XX XX0 312 354 XX XX
Ulas Top0 312 250 XX XX0312 354 XX XX0 533 313 XX XX0 312 354 XX XX

şeklinde olacaktır.

Eğer DNS kullanma şansınız yoksa yada kullanmak istemiyorsanız

MySQL_Baglanti.Open "Asp"

Satırını Aşağıdaki satırla değiştirmeniz yeterli...

Veritabanim = "DRIVER={MySQL ODBC 3.51 Driver}; SERVER=localhost; UID=root; pwd=; db=asp;"
MySQL_Baglanti.Open Veritabanim

Kısa olarakda veri eklenmesinden bahsedeyim.

Adsoyad, is, ev, cep , faks bilgilerimizi form 'dan aldığımızı var sayarak ;

SQL_Ekle="insert into telefon_rehberi (adsoyad , is , ev , cep , faks ) Values ( ' "&adsoyad&" ' ,  ' "&is&" ' ,  ' "&ev&" ' ,  ' "&cep&" ' ,  ' "&faks&" ' , )

MySQL_Baglanti.execute(SQL_Ekle)

şeklinde  sqlimizi oluşturduktan sonra MySQL_Baglanti.execute ile sql i çalıştırmamız yeterli.

<%

adsoyad=Request.Form("adsoyad")
is_tel=Request.Form("is_tel")
Ev=Request.Form("ev")
cep=Request.Form("cep")
faks=Request.Form("faks")

Set MySQL_Baglanti = Server.CreateObject("ADODB.Connection")
MySQL_Baglanti.Open "Asp"
sql_ekle="INSERT INTO _eski_`telefon_rehberi` ( `id` , `adsoyad` , `is` , `ev` , `cep` , `faks` ) VALUES ('', '"&adsoyad&"', '"&is_tel&"', '"&ev&" ', '"&cep&"', '"&faks&"')"

MySQL_Baglanti.execute(SQL_Ekle)

response.write "Veriler ASP veritabanına Eklendi"

%>

Yukarıda is telefonunu diğer telefon numaraları gibi almadım sonuna "_tel" ekleyerek "is_tel" haline getirdim. Bunun sebebi ASP nin "is" adında bir değişken kabul etmemesi.

Yeni yazılarda görüşmek üzere BT hayatının içinden sevgilerle...

Tarih : 18-Nisan-2002

Kaynak : www.mysql.com

Alıntı : Yok

Dökümanı Yazan : Onur ERSİN

 


Scorpion 16.05.2004

co.mments  del.icio.us  digg  Furl  NewsVine  Reddit  Spurl  TailRank  Wists   



Rating : 10 üzerinden 8.99
 



Tümünü Göster / Sadece Başlıklar Yorumlar

Fatih Hood Thnx..
Guzel bir makale olmus. Ellerine saglik...
 
a asp MySQL
leziz.
 
huseyin Sagolasın
Kardeş ellerine sağlık.Allah razı olsun.Beni öyle büyük bir dertten kurtardın ki anlatamam.Sagol...
 
murat şimdiye kadar php adodb.connection bşarılı olmadı
Bakalım deneyip göreceğim işallah olur.
 
rolf MySQL tam olarak ne_?
my sql tam olarak ne oluo yani yine bi access veritabanı nınamı kaydediyoz
 
sevgili rolf,

mySQL bir veritabanıdır. Access ın unix tabanlısı olarak düşün. Saygılar.
 
Ibrahim ARI tşkler
güzel bi yazı olmus..MySQL ve ASP yi Access Database in yetersiz kaldıgı için kullanmak istiyorum fakat INSERT,DELETE..vs.vs gibi SQL komutlarının ASP ile kullanımına ait fazla örnek bulamamıştım..tkrr teşekkürler:)
 
Deniz Teşekkür Az kalır
Bu tip emeklere teşekkür bile az kalır.
 
rahim acsess veri tabanına baglanma
taw abi ben bu accses e baglanamıyorum bi türlü
biyerde de yanlıslık yoq sanırım...bana bi mail atarmısın weya buraya yazarsan sewinirim
 
golge ASP - MySQL
YA Onur bey harika ve eğitici bir döküman sizden bişey daha rica etsek. mesala mysql veri tabanına kayıt girmeyi çok güzel anlatmışsınız. kayıt güncelle kaytları listeleme kayıt silme kayıt bulma örneklerinide verirseniz bu yazı mükemmel olur çok teşekkürler.
 
sağolasın süpersün
bukadar olur daha iyisini kimse yapamazdı :)
kötü tarafı çalışmıyor bu
 
muhammed201 Eline sağlık
Eline sağlık müthişssin. Denedim canavar gibi çalışıyor. Access'i bırakın arkadaşlar kayıt sayısı artıkca teklemeye başlıyor. Profosyenel işi değil.
 
metin no yorum
arkadaşalar değerli hocalar bana mysql ve sql server kurulumu için gereken isntaller lazım sitesinden indirmeyi başaramadım bana tıklanınca inen bir link lazım yardım ederseniz dua ederim ....saygılar ..
 
Muhammet Mustafa KÖSE Teşekkür Ederim
Hocam bana ne kadar yardımcı olduğunu bilemezsin? Çok teşekkür ederim, Allah sizin gibi paylaşımcı arkadaşlardan razı olsun.
 
yasin Rica
Merhaba öncelikle makale için teşekkür ederim..
Benım sorunum en basta.mysqlde görsel olarak database nasıl olsuturacam mysqlfront ile great database deyip bigileri girdiğimde hata alıyorum ne yapmam gerekir yardımınız için şimdidien teşekkür ederim..
saygılarımla...
 
baturhan teşekkürler
hakikaten emeğin için binlerce yürekten teşekkür
 




yorum Yorum ekle
İsminiz:
Mailiniz:
Yorum Konu:
Soru: 6+1
Cevap :
Bütün alanları doldurmanız gerekmektedir.

 
XHTML 1.0 CSS 2.1
Ceviz Reklam