<HTML>
<HEAD>
  <TITLE>Cvičení k ADO - (c) 2002 Doc. Ing. Radim Farana, CSc.</TITLE>
  <META http-equiv="Content-Type" content="text/html; charset=windows-1250">
  <META NAME="AUTHOR" CONTENT="Radim Farana">
  <META NAME="CONTENT" CONTENT="Cvičení z ADO - spolupráce s databází">
</HEAD>
<BODY text="#000000" bgcolor="#FFFFFF" link="#0000EE" vlink="#551A8B" alink="#FF0000">

<H1>Výstup z databáze s podmínkou výběru</H1>
<%
  ' Definice proměnných
  Dim CRLF
  CRLF = Chr(13) & Chr(10)

  ' Převzetí požadované podmínky
  If Request.TotalBytes > 0 Then
    ' Parametr zaslán metodou POST
    MyPar = Request.Form("Param")
  Else
    ' Parametr zaslán metodou GET
    MyPar = Request.QueryString("Param")
  End If

  ' Vytvoříme objekt pro spojení s databází
  Session.timeout = 1
  If IsObject(Session("CvicAplInf_conn")) Then
      Set DBConn = Session("CvicAplInf_conn")
  Else
      Set DBConn = Server.CreateObject("ADODB.Connection")
      ' Open database without DSN
      myDSN="DRIVER={Microsoft Access Driver (*.mdb)}; "
      myDSN=myDSN & "DBQ=" & server.mappath("CvicAplInf.mdb")
      DBConn.open myDSN
      ' Open database with DSN
      'DBConn.open "CvicAplInf","Admin",""
      Set Session("CvicAplInf_conn") = DBConn 
  End If

  ' Vytvoříme SQL dotaz pro zjištění potřebných dat
  If MyPar="" Then
    SQLStr = "SELECT * FROM Osoby ORDER BY Prijmeni, Jmeno;"
  Else
    SQLStr = "SELECT * FROM Osoby WHERE Instr(Prijmeni, '" & MyPar & "')>0 ORDER BY Prijmeni, Jmeno;"
  End If

  ' Vytvoříme objekt Recordset a otevřeme ho
  Set RS = Server.CreateObject("ADODB.Recordset")
  RS.Open SQLStr, DBConn, 3, 3

  ' Vytvoříme nadpis stránky
  If MyPar="" Then
    Response.Write "<H2>Všechny dostupné údaje</H2>" & CRLF
  Else
    Response.Write "<H2>Údaje pro příjmení obsahující '" & MyPar & "'</H2>" & CRLF
  End If

  ' Určíme zda je k dispozici alespoň jeden záznam
  If RS.EOF Then
     ' Není ani jeden záznam
     Response.Write "<P>Nejsou k dispozici žádné odpovídající záznamy!</P>" & CRLF
  Else
     ' Záznamy existují, zpracujeme výstup
     Response.Write "<TABLE BORDER=1>" & CRLF
     Do While Not RS.EOF
       Response.Write "  <TR>" & CRLF
       Response.Write "    <TD>" & RS.Fields("Prijmeni").Value & "</TD>" & CRLF
       Response.Write "    <TD>" & RS.Fields("Jmeno").Value & "</TD>" & CRLF
       Response.Write "    <TD>" & RS.Fields("Tel_cislo").Value & "</TD>" & CRLF
       Response.Write "  </TR>" & CRLF
       RS.MoveNext
     Loop
     Response.Write "</TABLE>" & CRLF
  End If
'  Set RS = Nothing
'  Set DBConn = Nothing
%>

</BODY>
</HTML>