ASP a spolupráca s databázou - 7.časť ASP

Táto čast nášho seriálu o ASP nám ukáže ako pomocou ODBC a VBScriptu (technológiou ASP) pracovať s databázami. To ako funguje ODBC sme si vysvetlili v časti predchádzajúcej. Ďalej treba podotknúť, že sa budeme zaoberať spoluprácou s databázami relačnými (napr.: SQL Server, MS Access, PostgreSQL, MySQL, ...).

Najpoužívanejšou cestou ako pracovať s dátami v databáze pomocou ASP je využitie komponenty ActiveX Data Objects (ADO). Využívaním objektov, v nej obsiahnutých, budeme čítať a zapisovať do databázy prostredníctvom ODBC.

Spojenie s databázou

Na to aby sme mohli pracovať s databázou, musíme najprv vytvoriť spojenie. To sa vytvára pomocou objektu Connection.

<%
   ' Deklarovanie premennej
   Dim oConn

     ' Vytvorenie objektu spojenia
     Set oConn = Server.CreateObject("ADODB.Connection")

       ' Otvorenie spojenia
       oConn.Open "meno zdroja dat ODBC", "uzivatel", "heslo"

       ' Zatvorenie spojenia
       oConn.Close

     ' Zrušenie objektu spojenia
     Set oConn = Nothing

%>

Doporúčam, otvárať a zatvárať spojenie na jednej stranke. Ak totiž daný objekt nezničíme, pri opätovnom vytvorení spojenia sa vytvorí objekt nový, čo môže viesť k postupnému zrúteniu WWW servera.

Práca s dátami

Na prácu s dátami v databáze sa používajú príkazy jazyka SQL. Tie môžeme rozdeliť do dvoch základných kategórii :

Vykonavacie

Vykonávajú sa jednoducho metódou objektu Connection.
oConn.Execute ("vykonávací prikaz")

Dotazovanie

Dotazovanie prebieha tak, že najprv vytvoríme objekt RecordSet. Pri otvorení zaroveň definujeme SELECT dotaz. Potom k výsledkom dotazu pristupujeme cez metódy objektu. Ako príklad budeme pristupovať k tabuľke User_Data, pričom vypiseme všetkych užívateľov :

User_ID User
01 Jan
02 Joseph

<%
   ' Deklarovanie premennej
   Dim oRcSet

     ' Vytvorenie objektu RecordSet
     Set oRcSet = Server.CreateObject("ADODB.Recordset")

       ' Otvorenie objektu RecordSet
       oRcSet.Open "SELECT * FROM User_Data", oConn

           If (oRcSet.EOF = True) Then
            Response.Write("Neexistuje uzivatel")
           Else
            oRcSet.MoveFirst
            Do Until oRcSet.EOF
             Response.Write(oRcSet.Field("User"))
             rcSet.MoveNext
            Loop
           End If

       ' Zatvorenie RecordSetu
       oRcSet.Close

     ' Zrušenie objektu RecordSetu
     Set oRcSet = Nothing

%>

Tak a toto je zatial koniec našho milého miniserialu o ASP. Ak máte nejaké nejasnosti a otázky, prosím neváhajte a kontaktujte ma na jan_masaryk@yahoo.com, alebo ešte lepšie urobíte keď navštívite naše diskusné fórum na adrese : http://forum.developer.sk, tému ASP a zveríte sa nám s Vašimi problémami a skúsenosťami.

Developer,
Stiahnuté z Developer.sk