Asp - adatbázisokkal való együttműködés

Talán komoly webhely nem tehet adatbázis nélkül. Függetlenül attól, hogy fórum, vendégkönyv vagy csevegés, az adatbázisok mindenhol megtalálhatók, kényelmesek és praktikusak, bár persze, mint mindenki a világunkban, hiányosságai vannak, de ez most nem a kérdés. Az adatbázisok kezeléséhez használt ASP (Active Server Page) az ADAC (ActiveX Data Objects) könyvtárat használja, amely az MDAC összetevőkészletében található (Microsoft Data Access Components - megtalálható a Microsoft honlapján). Ebben a cikkben beszélek az ADO használatáról ASP alkalmazások fejlesztésére.

Mielőtt közvetlenül az adatokkal dolgozna, először "csatlakoztatnia" kell az adatbázist. Az adatbázishoz való kapcsolatot az ADO könyvtár Csatlakozási objektuma végzi.
A Kiszolgáló objektum CreateObject metódusával létrehozhat egy Connection objektumot:

Dim Conn 'deklarálja a kapcsolatot a kapcsolathoz

'hozzon létre egy kapcsolat objektumot

Állítsa be a Conn = Server értéket. CreateObject ("ADODB.Connection")

A Conn változó harmadik sorában a Connection objektum tulajdonságai áthaladnak.

A Connection objektum létrehozása után ténylegesen meg kell nyitnia az adatbázist, ezt a Nyílt módszerrel kell végrehajtani:

dbpath = Szerver. MapPath ("my.mdb")

Conn. Nyissa meg a "Provider = Microsoft.Jet.OLEDB.4.0; Data Source =" dbpath

A 4. sorban a dbpath változót deklarálják, majd az 5. sorban az ASP oldal aktuális helyét a kiszolgálóhoz rendeli, és az adatbázis fájl neve az my.mdb.

És így, most az adatbázis kapcsolódik hozzánk, nyitott és készen áll a harcra. Az adatok feldolgozásához a Recordset objektumot használjuk. A Recordset létrehozása, valamint a Connection:

Dim RS 'deklarál egy változót a Recordset számára

'hoz létre Recordset objektumot

Állítsa be az RS = kiszolgálót. CreateObject ("ADODB.Recordset")

Az RS változó 9. sorában a Recordset objektum tulajdonságai elhaladnak.

Az adatbázis-műveleteket SQL-lekérdezések végzik. Az SQL (Strukturált lekérdezési nyelv) az adatbázisok feldolgozásával kapcsolatos strukturált lekérdezések univerzális nyelve, amelyről néhány cikket, sőt könyveket már nem írt. Ebben a cikkben az SQL csak a cikk hatálya alá tartozik.

A Csatlakozás mellett a Recordset-t is meg kell nyitni, ezért a Nyílt módszert is használják:

Dim strSQL "deklarálja a változót az SQL lekérdezéshez

strSQL = "SELECT * FROM tblMain" formázza az SQL lekérdezést

RS. Nyissa meg a strSQL-t, Nyissa meg a Recordset-t

A 10. sorban a strSQL változót deklaráljuk, szükségünk van egy SQL lekérdezés létrehozására, bár nélküle megtehetjük, de egyetértünk abban, hogy sokkal kényelmesebb, mint az SQL lekérdezés közvetlen beillesztése a nyílt módszerbe.

A 11. sorban valójában létezik a kérés. A SELECT parancs a leggyakrabban használt utasítás, amely lehetővé teszi, hogy adatokat kapjunk egy táblából, esetünkben az összes adat a táblázatban tblMain. A Recordset használatakor más SQL parancsokat általában nem használnak.

A 12. sorban az Open módszer megnyitja a Recordset-et a korábban definiált SQL lekérdezéssel a már megnyitott Conn adatbázisban.

Annak érdekében, hogy ellenőrizze az adatok rendelkezésre állását az adatbázisban, használhatja a Recordset objektum BOF módját és EOF-jét:

Ha RS. BOF = Igaz vagy RS. EOF = True Ezután nincs adat

Választ. Írás ("
adatok nem állnak rendelkezésre
„)

Egyéb adatok

RS. MoveLast "lépés az utolsó rekordra

RS. MoveFirst "megy az első rekordra

Választ. Írjon ("teljes rekord az adatbázisban:" _

RS. RecordCount "
„)

Do While nem RS. EOF "sort az összes rekordot

'ellenőrizze, hogy elérte-e az adatbázis végét

- Ha igen, akkor elhagyjuk a ciklust

Ha RS. BOF = Igaz vagy RS. EOF = Igaz, majd Exit Do

'kimeneti adatokat az id mezőből és a névből

Választ. Írás (RS-fájlok ("id") "
„)

Választ. Írás (RS mezők ("név") "
„)

'ne felejtsd el átfordítani az adatokat

A 13. sorban az adatbázistábla adatainak rendelkezésre állása be van jelölve. Abban az esetben, ha az érték igaz, akkor a 14. sorban a felirat: "adatok hiányzik" jelenik meg.

Írás igaz, elvileg nem szükséges, egyszerűen írj: "Ha RS.BOF vagy RS.EOF akkor" - az eredmény ugyanaz lesz.

Ha vannak adatok a táblában, akkor a 16-17 sorban a MoveLast és a MoveFirst segítségével a Recordset az utolsó és az első rekordra kerül. Ehhez pontosan meg kell határozni az adatbázisban lévő rekordok számát. A rekordok számát a RecordCount módszer 18-19 sorban adja vissza.

A 20. és 29. sorok között az "id" és a "name" mezők adatait eredményezi.

Különös figyelmet fordítsunk a 28. sorra. A MoveNext módszer hiányában végtelen hurok keletkezik, ami, mint megértett, az ASP program lefagyását okozza.

Ha a munka befejeződik az adattáblával, a Recordset, ha már nincs szükség rá, célszerű lezárni. A Recordset lezárja a Close módszerrel:

Kapcsolódó cikkek