| |
[ 20. October 1999]
- Jany_Masaryk
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 - INSERT, UPDATE
- dotazovacie - SELECT
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.
|
|
| |
|
"ASP a spolupráca s databázou - 7.časť ASP" | Login / vytvor konto | 2 Komentárov |
|
Za obsah komentárov je zodpovedný užívateľ, nie prevádzkovateľ týchto stránok. |
Re: ASP a spolupráca s databázou - 7.časť ASP (Skóre: 0) kým: Anonym dňa 03. April 2001 | no kedy už bude další diel ja čakám a zdá sa mi to dlho. |
[ Odpoveď ] Re: ASP a spolupráca s databázou - 7.časť ASP (Skóre: 1) kým: nasinec dňa 02. June 2001 (Informácia o uľívateľovi) | Dovolte doplnenie tejto temy:
Ja som si zvykol pouzivat .udl subor na vyvtorenie spojenia na databazu. Robi sa to tak, ze si vytvorim prazdny .txt subor (najlepsie v C:WINNTsystem32), premenujem ho na MojaAplikacia.udl, dvakrat nanho kliknem a wizard mi pekne vytvori connection. Potom v kode pouzijem:
objConn.Open "FILE Name=C:WINNTsystem32" & MojaAplikacia.udl
ma to tu vyhodu, ze ked prenasam aplikaciu na iny server, nemusim komponentu prekompilovavat kvoli heslu pripojenia na db.
Samozrejme ma to velku vyhodu, ze sa nepomylim pri vytvarani connection string. Pouzitelnost aj v cisto asp strankach, nielen v komponente. |
[ Odpoveď ] |