Adobe-dreamweaver-asp-icon

Bu projede Microsoft Excel sayfalarından ASP kullanarak bilgi okuma işlemi gerçekleştirilmiştir. Bu projenin adım adım yapılmasıyla ilgili bilgileri bu yazıda bulabileceksiniz.

Excel1

 

 

Giriş sayfamızı görüntüde gördüğümüz gibi tasarlıyoruz. Giriş sayfamızda form alanı ekleyip bu alanda bir tane textfield nesnesi ekliyoruz. Form alanının özelliğini get metodu iel yapıyoruz. Bir tanede buton ekleyip “sorgula.asp” isimli bir sayfaya yönlendiriyoruz.

Bu işlemlerden sonra sorgula.asp sayfası için bir boş asp sayfası açıp içerisine aşağıdaki kodları yerleştiriyoruz.

 

<%@LANGUAGE=”VBSCRIPT”%>

<%

Const adOpenStatic = 3

Const adLockPessimistic = 2

 

Dim cnnExcel

Dim rstExcel

Dim I

Dim iCols

dim isim

 

Set cnnExcel = Server.CreateObject(“ADODB.Connection”)

cnnExcel.Open “DBQ=” & Server.MapPath(“ogrenciler.xls”) & “;” & “DRIVER={Microsoft Excel Driver (*.xls)};”

 

Set rstExcel = Server.CreateObject(“ADODB.Recordset”)

 

isim=trim(request.QueryString(“adi”))

 

rstExcel.Open “SELECT * FROM tablo where Adi_Soyadi LIKE ‘%” + isim + “%’;”, cnnExcel, adOpenStatic, adLockPessimistic

 

if (rstExcel.eof) then response.Redirect(“hata.asp”)

iCols = rstExcel.Fields.Count

%>

<style type=”text/css”>

<!–

.style1 {

font-family: Verdana, Arial, Helvetica, sans-serif;

font-weight: bold;

font-size: 12px;

color: #0000FF;

}

–>

</style>

 

<title>Rize Meslek Yüksek Okulu Öðrenci Arama Sayfasý</title><table border=”1″>

<thead>

<%

 

For I = 0 To iCols – 1

Response.Write “<th>”

Response.Write rstExcel.Fields.Item(I).Name

Response.Write “</th>” & vbCrLf

Next ‘I

%>

</thead>

<%

rstExcel.MoveFirst

 

Do While Not rstExcel.EOF

Response.Write “<tr>” & vbCrLf

For I = 0 To iCols – 1

Response.Write “<td>”

Response.Write rstExcel.Fields.Item(I).Value

Response.Write “</td>” & vbCrLf

Next ‘I

Response.Write “</tr>” & vbCrLf

 

rstExcel.MoveNext

Loop

%>

</table>

 

<p>&nbsp;</p>

<p>

<%

rstExcel.Close

Set rstExcel = Nothing

 

cnnExcel.Close

Set cnnExcel = Nothing

%>

</p>

<p>&nbsp;</p>

<p class=”style1″><a href=”default.asp”>&lt;&lt; Geri</a></p>

 

 

Bu sayfada pek fazla tasarım olarak bir işlem yapmıyoruz asp kodlarıyla sorguladığımız bilgiler sayfada gösteriliyor. Burada bulunan asp kodlarının neler yaptığını açıklayalım.

Set cnnExcel = Server.CreateObject(“ADODB.Connection”)cnnExcel.Open “DBQ=” & Server.MapPath(“ogrenciler.xls”) & “;” & “DRIVER={Microsoft Excel Driver (*.xls)};”
Bu kısım veritabanına bağlanmak için sürücü oluşturmamıza yarıyor bu işlemler Access veri tabanını sorgularken de aynı oluyor sadece Excel de değişen Microsoft Excel Driver olarak düzenlensin den ibaret.
Set rstExcel = Server.CreateObject(“ADODB.Recordset”)

 

Burada Excelde alanları seçip tablo şekline getiriyoruz bu işlem aşağıda anlatılmaktadır.bu tablo haline getirlen bilgileri bir dizi halinde tanımlı olan değişkene aktarmak için kullanıyoruz.

rstExcel.Open “SELECT * FROM tablo where Adi_Soyadi LIKE ‘%” + isim + “%’;”, cnnExcel, adOpenStatic, adLockPessimistic

Adi değişkeni ile formdan gelen bilgiyi isim diye tanımladığımız değişkene almıştık.Burada SQL komutlarını kullanarak tabloda arama yapıyoruz.Buradaki arama işlemi LIKE komnutu kullanılarak yapılmakta.Bu komut ile “Adi_Soyadi LIKE % isim % “ iki % arasında isim değişkeni yerleştirdik isim değişkenine yer alan karakterleri Adi_Soyadi alanı içerisinde arar içeriğinde bu karakterlerden bulunan bütün kayıtlar listelenir.

if (rstExcel.eof) then response.Redirect(“hata.asp”)

Eğer Sorgulama sonucu hiçbir kayıt bulunamaz ise hata.asp sayfasına bizi program yönlendirecek ve kayıt bulunamadığına dair bir iletiyi görmüş olacağız.

<%For I = 0 To iCols – 1

Response.Write “<th>”

Response.Write rstExcel.Fields.Item(I).Name

Response.Write “</th>” & vbCrLf

Next ‘I

%>

 

Bu for döngüsü Excel sayfasını sorgulayıp sutun adları kadar tablo hücreleri açıyor.ve Sutun adlarını yazıyor bu sutun adları aynı zamanda bizim tablo alanlarımız olmuş oluyor.

 

<%rstExcel.MoveFirst

 

Do While Not rstExcel.EOF

Response.Write “<tr>” & vbCrLf

For I = 0 To iCols – 1

Response.Write “<td>”

Response.Write rstExcel.Fields.Item(I).Value

Response.Write “</td>” & vbCrLf

Next ‘I

Response.Write “</tr>” & vbCrLf

 

rstExcel.MoveNext

Loop

%>

 

 

Bu döngü başlamadan önce tabloyu ilk kayda getiriyor daha sonra tabloda sorgulanan kayıtların sonuna gelene kadar döngü dönmeye başlıyor ve her döndüğünde tabloda süzmüş olduğu kayıtları her seferinde tabloya bir satır daha ekleyerek sayfamıza sonuç olarak yazdırıyor.

 

<%rstExcel.Close

Set rstExcel = Nothing

 

cnnExcel.Close

Set cnnExcel = Nothing

%>

 

 

Bu satırlar açmış olduğumuz tablo ve veritabanı bağlantılarını kapatmak için kullanılıyor.

 

“hata.asp” sayfasında ASP kodu bulunmamaktadır. Bu sayfa sadece tasarımdan ibarettir. Bu sayfada bir uyarı mesajı yazıyoruz ve bir buton koyup basılınca formun özelliğini ayarlayıp default.asp yani giriş sayfasına yönlendiriyoruz.

 

Program Çalıştırılması ve Ekran Görüntüleri

Excel2

 

 

 

Excel3

 

 

Excel4


Dosyayı İndir