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

WildWolF

New member
Katılım
18 Haz 2005
Mesajlar
285
Reaction score
0
Puanları
0
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

dns_adim_1.gif
İkinci Adım Olarak;
dns_adim_2.gif


"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.


dns_adim_3.gif
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 İş Telefonu Ev Telefonu Cep telefonu Faks
Onur Ersin 0 312 385 XX XX 0 312 354 XX XX 0 532 694 XX XX 0 312 354 XX XX
Ulas Top 0 312 250 XX XX 0312 354 XX XX 0 533 313 XX XX 0 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
 
ellerine saglık arkadasım ama ben tam anlayamadım aslında fazla iddalı da degilim bu konularda ama mysql için jet bağlantı mümkün mü yani ve phpmyadmin gibi ama iis(winxp) de görebilcegimiz bir program var mı database düzenlemek için?
 
eline sağlık ve cok saol. ama resimler görünmüyor ona bir bakarsan sevinirim
 
bas harfe gore nasıl veri cekiorduk mysql den?
 
Ellerine sağlık biraler Sağolasın Zahmet vermişler Sana :eek:)
 
resimler gitmiş birileri yenileyebilirmi?
 
malesef resimler ölmüş, konu sahibi başka yere up etmemiş aldığı yerden koymuş..
takıldığın yer varsa soraiblirsin asp, mysql,ajax konusunda
 
Geri
Üst