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.
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> </p>
<p>
<%
rstExcel.Close
Set rstExcel = Nothing
cnnExcel.Close
Set cnnExcel = Nothing
%>
</p>
<p> </p>
<p class=”style1″><a href=”default.asp”><< 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
Dosyayı İndir
07/08/2019 - 07:11
İyi çalışmalar… Emeğiniz için çok teşekkürler. Dosya şifresi nedir ?
03/05/2020 - 21:44
çalışma güzel görünüyor, fakat keşke dosya şifresini bir yerlere yazsaydınız hocam.
24/08/2022 - 08:31
Hocam rar şifresini yazabilir misiniz.
26/06/2024 - 13:31
Emeğiniz için çok teşekkürler. Hocam şifresini yazabilir misiniz?