ASP Veri Tabanı Erişim Uygulamaları Örnek 3

ASP Veri Tabanı Erişim Uygulamaları Örnek 3

ASP Veri Tabanı Erişim Uygulamaları Örnek 3

Bu örneğimizde, sorgu sonucunda oluşan kayıt kümeleri, 10lu kayıt grupları halinde listelenmektedirler. Ayrıca, sessin nesnesi kullanılarak, aynı sayfalara farklı kullanıcıların erişmeleri halinde sorgu sonuçlarının karışması engellenmeye çalışılmaktadır.

13. Satırda ‘Select Case’ deyimi ile, oluşacak sorguya göre bir sonraki veya önceki sayfaya geçişi sağlayacak linkler oluşturulmaya çalışılmaktadır. Ayrıca, Rqesut.QueryString(””) nesnesi ile bu asp dosyasına parametre gönderildiği sonucuna varmaktayız.

27. Aktif veri tabanı nesnesi(adodb) kullanılarak veri tabanına bağlantı (connection) oluşturulmaya çalışılmaktadır.

28. nokta (system dsn) olarak tanımlanmış ODBC ayarı kullanılarak veri tabanı bağlantısı açılmaya çalışılmaktadır.

30. strSQL cümecikleri için Dim komutu yardımı ile değişkenler tanımlanmaktadır.

31. Seçilecek kolonların isimlerinin listelendiği SELECT deyiminin ilk parçası oluşturulmaktadır.

34.-37. satırlar arasındaki WHERE deyiminde, hem iki tablo bağlanmakta hem de LIKE deyimi kullanılarak Publisher tablosu içerisindeki Company kolonunu içerisinde herhangi bir satır içerisinde Microsoft geçen satırlar listelenmektedir.

39. satırda kayıt kümesi tanımı yapılmaktadır.

40. Kayıt kümesi sayfa boyu 10 kayıt olarak belirlenmektedir.

41. strSQL deyimi için kayıt kümesi açılıyor.

42. Kayıt kümesinin mutlak sayfa sayısı, geçerli oturumdaki geçerli sayfa olarak atanmaktadır.

45. satırda ise, oturumdaki geçerli sayfa sayısı ile kayıt kümesindeki sayfa sayısı belirtilmektedir.

60. satırda, for çevrimi oluşturularak kayıt kümesindeki sayfa sayısı kadarlık bir döngü sağlanmaktadır.

64. satırdan itibaren sorgudaki elde edilecek kolonların değerleri listelenmektedir.

74. satırda kayıt kümesinde bir sonraki kayıya geçilmektedir.

75. satırda Next deyimi ile for döngüsü tamamlanmaktadır.

79.-81. satırlar arasında oturumdaki geçerli sayfanın nümerik değeri, kayıt parametre değeri atanarak, açıklamakta olduğumuz asp dosyası tekrar başlatılmaktadır. Böylece, rekürsif bir yapı oluşturulmaktadır.

83.-85. satırlar arasında ise bir önceki özelliğin, tersi yani önceki sorgu sonuçları sayfasına geçiş sağlanmaktadır.

88. satırda kayıt kümesi kapatılmaktadır.

89. satırda bağlantı kapatılmaktadır.

90 ve 91. satırlarda ise kullandığımız nesnelerin içleri boşaltılmaktadır.

Query.asp

  1. <%@ LANGUAGE=”VBScript” %>
  2. <%Response.Expires=0%>
  3. <HTML>
  4. <HEAD>
  5. <META NAME=”GENERATOR”
  6. <META HTTP-EQUIV=”Content-Type” content=”text/html;
  7. charset=iso-8859-1”>
  8. <TITLE>Paging Records</TITLE>
  9. </HEAD>
  10. <BODY>
  11. <%
  12. ‘ Hangi sayfa
  13. Select Case Request.QueryString(”Direction”)
  14. Case””
  15. Session(”CurrentPage”) = 1
  16. Case ”Next”
  17. Session(”CurrentPage”) = Session(”CurrentPage”) + 1
  18. Case ”Previous”
  19. Session(”CurrentPage”) = Sessions(”CurrentPage”) – 1
  20. End Select
  21. ‘ Sabitler
  22. Const adOpenKeyset = 1
  23. ‘ Degisken tanimi
  24. Dim objConnection
  25. Dim objRecordset
  26. ‘ Veri tabani tanimi
  27. Set objConnection = Server.CreateObject(”ADODB.Connection”)
  28. objConnection.Open ”Biblio”, ””, ””
  29. ‘ SQL deyimi tanimi
  30. Dim strSQL
  31. strSQL = strSQL & ”SELECT Authors.Author, Titles.Title, ”
  32. strSQL = strSQL & ”Publishers, ‘Company Name’ FROM Authors, ”
  33. strSQL = strSQL & ”’Title Author’, Titles, Publishers”
  34. strSQL = strSQL & ”WHERE Authors.Au_ID = ‘Title AUthor’. Au_ID”
  35. strSQL = strSQL & ”AND ‘Title Author’ .ISBN = Titles.ISBN ”
  36. strSQL = strSQL & ”AND (Pubishers. ‘Company Name’ LIKE”
  37. strSQL = strSQL & ”’%Microsoft%’) ORDER BY Authors.Author”
  38. ‘recordset olustur
  39. Set ObjRecordset = Server.CreateObject(”AODB.Recordset”)
  40. objRecordset.PageSize = 10
  41. objRecordset.Open strSQL, objConnection, adOpenKeyset
  42. objRecordset.AbsolutePage = CLng(Session(”CurrentPage”))
  43. ‘ Sonuclari goster
  44. %>
  45. <P>Page <%=Session(”CurrentPage”)%>of<%=objRecordset.PageCount%></P>
  46. <TABLE BORDER>
  47. <TR>
  48. <TH>
  49. Author
  50. </TH
  51. <TH>
  52. Title
  53. </TH>
  54. <TH>
  55. Publisher
  56. </TH>
  57. </TR>
  58. <%
  59. Dim i
  60. For i = 1 To objRecordset.PageSize
  61. %>
  62. <TR>
  63. <TD>
  64. <%=objRecordset(”Author”)%>
  65. </TS>
  66. <TD>
  67. <%=objRecordset(”Title”)%>
  68. </TD>
  69. <TD>
  70. <%=objRecordset(”Company Name”)%>
  71. </TD>
  72. </TR>
  73. <%
  74. objRecordet.MoveNext
  75. Next
  76. %>
  77. </TABLE>
  78. <!–Sonraki HyperLink–>
  79. <%If CLng(Session(”CurrentPage”)) < objRecordset.PageCount Then %>
  80. <P> <A HREF=”query.asp?Direction=Next”>Sonraki</A></P>
  81. <%End If%>
  82. <!–Önceki HyperLink–>
  83. <%If CLng(Session(”CurrentPage”) > 1 Then %>
  84. <P> <A HREF=”query.asp?Direction=Previous”>Önceki</A></P>
  85. <%End If%>
  86. <%
  87. ‘ veri tabani kapat
  88. objRecordset.Close
  89. objConnection.Close
  90. Set objRecordset = Nothing
  91. Set objConnection = Nothing
  92. %>
  93. </BODY>
  94. </HTML>

Bu gönderiyi paylaş

Bir cevap yazın