Asp egy csészealjra%
Interfész az ASP segítségével
A probléma megfogalmazása
Először is, derítsük ki, mi van tőlünk. Tény, hogy létre kell hoznia egy adatbázist az összes cikkről, több HTML-formanyomtatványt kell készítenie, hogy cikkeket töltsön le a kiszolgálóra, keressen rá, rendezzen, törölhessen és végül megjeleníthesse az eredményt.
Szinte biztos vagyok benne, hogy ez a feladat szinte minden webhelyre releváns, különösen azért, mert ily módon (kivéve, ha nem keres, nem válogat és törli) a legtöbb vendégkönyv működik.
Amire szükségünk van
Adatbázis létrehozása és előkészítése
Először is létrehozunk egy cikk adatbázist, amelyhez:
Ezután regisztrálja adatbázisunkat a rendszer adatforrásainak megfelelő részében, ehhez:
- futtassa az adatforrások program-konfigurátorát (Adatforrások ODBC) - Start-> Beállítások -> Vezérlőpult -> Felügyeleti eszközök -> Adatforrások ODBC;
- menjen a "Rendszer DSN" fülre, és hozzon létre egy új adatforrást a "Hozzáadás ..." gombra kattintva;
- A megjelenő illesztőprogramok listájában válassza ki a Microsoft Access adatbázis illesztőprogramot - "Microsoft Access Driver (* .mdb)", és kattintson a "Befejezés" gombra;
- az "Adatforrás neve" sorban meg kell adnunk adatbázisunk nevét, például "Cikkek" (ez a név, amelyre a jövőben hivatkozunk rá);
- Kattintson a "Select ..." gombra, válassza ki az általunk készített "ArticlesDB.mdb" fájlt, és kattintson az "OK" gombra.
Ennek eredményeképpen a rendszerben lévő adatforrások listáján a 3. ábrán látható sor látható. 3.
Tervezzük a fő oldalt (index.asp)
Alapvetően linket képez a sablon tartalmát tartalmazó fájlhoz a cikk megjelenítéséhez, és átadja a cikkazonosítót paraméterként. A teljes sablonfájlt e cikk függelékében adjuk meg, és működésének mechanizmusa a következőképpen foglalható össze:
Hozzon létre egy kezdőlapot
Strukturált lekérdezési nyelv - SQL
Itt az idő, hogy megértsük, mi áll a vonalak mögött:
Valójában a két sor mögött állunk, hogy az adatbázisunkkal dolgozunk: az első egy szöveges lekérdezéses szöveges string, az ASP szöveges karakterláncai kettős idézőjelben vannak írva; a második - tartalmaz egy irányelvet a lekérdezés végrehajtására az eredmény egyidejű hozzárendelésével a változóhoz (mutató az adatbázisban lévő rekordokhoz). A cikk keretein belül nem foglalkozunk SQL (Strukturált lekérdezési nyelv) minden részletével, de csak az operátorokra koncentrálunk, anélkül, hogy megértettük, mely további munka lehetetlen. Azoknak, akiknek ez elégtelennek tűnik, azt javaslom, hogy látogasson el a részletes SQL dokumentációval kiválasztott webhelyekhez.
A teljes körű munkához meg kell ismerkednünk az ezen a nyelvezet négy szereplőjével, amelyeket kifejezetten az adatbázisok kezelésére terveztek.
A DELETE törli azokat a "Table Name" ("táblázatnév") sorokat, amelyek megfelelnek a "Definíció" -ben megadott feltételeknek és visszaadják a törölt sorok számát. Ha a DELETE parancsot a WHERE záradék nélkül hajtja végre, akkor a megadott táblázat összes sorát törli. Ebben az esetben a DELETE 0 értéket ad vissza. A LOW_PRIORITY kulcsszó a DELETE műveletet elhárítja, amíg a másik ügyféltáblázat leolvasása befejeződik.
A SELECT a sorok (rekordok) egy vagy több táblából történő lekérdezésére szolgál. A_Select kifejezés határozza meg azt a táblázat oszlopait, amelyek értékét szeretné visszanyerni. Minden kulcsmezőt szigorú sorrendben kell megadni. A HAVING kifejezésnek például minden GROUP BY kifejezést és bármely ORDER BY-mondatot meg kell felelnie.
A SELECT kifejezés az AS kulcsszóval helyettesíthető alias-kkal. Az álnevet az oszlopnév azonosítójaként használják, és használhatók a ORDER BY vagy a HAVING kulcsszavak mellett.
A HAVING kifejezés az _Select_Expression bármely oszlopára vagy aliasára hivatkozhat. A lekérdezésre érvényes, közvetlenül az adatoknak az ügyfél felé történő elküldése előtt. SELECT. INTO OUTFILE 'fájlnév' írja a kiválasztott rekordokat egy fájlba. A fájl közvetlenül a kiszolgálón van létrehozva, és nem "létezhet" (a mechanizmus egyik fő oka, hogy megakadályozza a különböző fontos fájlok véletlen "összeillesztését").
Az INSERT új bejegyzéseket ad hozzá egy meglévő táblához. Az INSERT használatának két formája megengedett.
Az első űrlap INSERT. VALUES - a megadott értékek alapján sorokat helyez be. A második űrlap INSERT. SELECT - a másik táblázatból kiválasztott sorok beszúrása.
A kulcsszó LOW_PRIORITY elhárítja a műveletet, amíg befejeződik a többi ügyfél asztalának olvasása. Az IGNORE kulcsszó az INSERT parancsban elkerüli a kettős sorok beillesztését (a PRIMARY vagy UNIQUE kulcsszavakkal kombinálva). A második űrlaphoz INSERT INTO. A SELECT művelet nem tartalmazhat ORDER BY záradékot. Az a tábla, amelyhez a rekordok hozzá vannak adva, nem jelenhet meg a lekérdezés SELECT részének FROM szakaszában, mivel ugyanazt a táblázatban, amelybe a beillesztés megtörtént, egy szelekciót tilos kiválasztani.
CSERE használják tartalmának szerkesztéséhez táblázatok és pontosan úgy működik, mint az INSERT, kivéve, ha egy régi rekordot a táblázatban ugyanaz az értéke, mint a rekord, a régi rekordot kell hagyni, majd egy újat.
Az UPDATE frissíti a meglévő táblázat mezőket új értékekkel. A SET kifejezés azt jelzi, hogy mely mezőket (oszlopokat) kell megváltoztatni, és azokat az értékeket, amelyeket hozzá kell rendelni hozzá. A WHERE záradék, ha van ilyen, meghatározza, hogy mely sorokat kell frissíteni. Ellenkező esetben a művelet a táblázat összes sorára vonatkozik. A kulcsszó LOW_PRIORITY elhárítja a műveletet, amíg befejeződik a többi ügyfél asztalának olvasása. Az UPDATE kifejezéseket balról jobbra hajtja végre.
Frissíti a Passwordassword mező értékét a WAPassword táblában, írja be azt a mezőt, amelynek azonosítója 1 érték "passw".
A Counter Table számláló mező értéke 1-vel növelhető.
Párosítja a mező korát, majd hozzáadja 1 értékét a perspendáci asztalhoz.
Mi a Global.asa
A Global.asa lehetővé teszi bizonyos parancsfájlok végrehajtását az ügyfél munkamenet elején vagy az IIS inicializálásakor. Ennek egyik példája a webhelyen tett látogatások számának legegyszerűbb számlálója. Ezenkívül megengedett több Global.asa fájl használata is. Ne feledje azonban, hogy az ASP szkript a legközelebbi (ugyanabban a könyvtárban található) Global.asa fájlban keres és használja azt.
Tény, hogy ez a fájl tartalmazza a négy forgatókönyv: az első fog futni az inicializálás során, IIS / PWS (Application_OnStart), második - ha abbahagyja IIS / PWS szolgáltatás (Application_OnEnd) (általában az első két szkript dolgoznak ki a folyamat a számítógép újraindítása), és két szkript végrehajtása a felhasználói munkamenet (Session_OnStart) inicializálásakor és a végén (Session_OnEnd) történik. Ez a séma nagyon hasonlít a "konstruktor-romboló" párokra. Mert semmi sem bármely változó, hogy kell használni (például az aktuális munkamenetben) lehet inicializálni Session_OnStart annak érdekében, hogy használható a munkamenet során, az is megszűnt (nullára van beállítva) a Session_OnEnd.
Példa a Global.asa fájlra
Új cikk hozzáadása (UploadForm.asp és Upload2DBS.asp)
Most, hogy az SQL-szel foglalkozunk, elkezdhetjük új cikk hozzáadását, és közvetlenül a webhelyről, vagy pontosabban - közvetlenül a HTML űrlapból fogjuk megtenni. Ehhez először hozzon létre egy fájlt az űrlappal, és definiálja a visszaigazolásra adott parancsfájl-választ (a "Tegye közzé a cikket!" Gombot). (Feltételezzük, hogy az olvasó ismeri a HTML űrlapok létrehozásának alapjait, ezért megvizsgáljuk ezt a folyamatot, anélkül, hogy beleérnénk az űrlapépítés részleteire.)
Először is meg kell tisztázni a feladatot ebben a szakaszban. Tehát nyilvánvalóan a következők:
- nem mindenki joga van letölteni a cikkeket a webhelyről (ezért kívánatos jelszót adni a funkció eléréséhez);
- minden cikknek van egy konkrét témája (cím), és nem lehet önkényes, de ki kell választania a listából;
- A lista közvetlenül a HTML fájlban tárolható, és minden alkalommal, amikor módosítja, megváltoztatja a fájlt. Ez a legegyszerűbb és leggyorsabb módja;
- Azonban ahhoz, hogy dinamikusan módosíthassa és kiegészíthesse ezt a listát, javasoljuk, hogy az adatbázisban maradjon. Ez lehetővé teszi a felhasználók számára, hogy önkényesen megváltoztassák tartalmát, és nem követelik meg az űrlap megváltoztatását. Az egyszerűség kedvéért először vegye fontolóra a lehetőséget egy beépített (kemény) varázslóval.
Most nézzük meg a jövő munkájának lényegét. Mi a forgatókönyvreakciónk?
És még több. Végrehajtása előtt céljainkat, azt kell mondani, körülbelül egy kis probléma: amikor illessze be az adatbázisba a cella szöveget, formázza meg (még a legegyszerűbb) nem maradnak a jövőben nem lehet helyesen jelenik meg a HTML-oldal, mert A Memo mező egy nem formázott szöveget tartalmaz. Ennek elkerülése érdekében írjon egy olyan funkciót, amely lehetővé teszi, hogy a cikk beviteli szövegének primitív HTML-formázását készíthesse, mielőtt az adatbázishoz írná. Más szóval, a legalapvetőbb esetben (legalábbis annak érdekében, hogy megőrizze az eredeti bontásban on-line), a funkció bejegyzi a sor végére kódot, ahol a bemeneti áramból karakter közlekedési vonalak.
A cikk törlése (RemoveForm.asp és Rem.asp)
Jó lenne biztosítani annak lehetőségét, hogy meg kell állítani a honlapunkon: először, lehet, hogy elavult, másrészt a folyamat az előkészítés nem kizárt pontatlanságokat vagy tipográfiai hibákat. Laknak a formában nem lesz eltávolítja a cikket, kivéve azt, hogy az csupán elemek közötti interakció a számítógép és a törlés gomb (lásd RemoveForm.asp fájlt.), És azonnal megkezdjük, hogy fontolja meg közvetlenül az eltávolítási folyamatot:
Különös figyelmet kell fordítani az első két sorra. Az aktuális munkamenet (munkamenet) globális változójának értékét az aktuális cikk azonosítójával (esetünkben törölve) kapjuk meg, amelyet inicializáltunk (ArtTmp.htm fájl) a következő sorral:
Szervezzük a keresést (SearchForm.asp és SearchDBS.asp)
Mint önök is tudják, minden szilárd adatbázisban való navigáció nélkül elvileg lehetetlen. Megpróbáljuk megszervezni a cikk keresését igényei szerint, és megpróbálunk egy logikai (logikai) keresést szervezni, amely összekapcsolja a keresési feltételek külön értékét az "ÉS / VAGY" logika segítségével.
Ismét, a keresési űrlapra (fájl SearchForm.asp) való összpontosítás nélkül, menjünk közvetlenül a tényleges keresési folyamathoz:
A legérdekesebb akkor történik, amikor lekérdezést készít az összetevők adatbázisára:
A felhasználó által megadott forrásmezők kombinációjától függően ezek az összetevők a végső kérelmet képezik, különösen a "Szerző" és a "Cím" mezők számára. Négy lehetséges eset van: mindkét mező üres, az első mező üres, a második mező üres, és mindkét mező üres. A megfelelő SQL lekérdezési karakterlánc mindegyik esetben saját módján alakul ki. Ugyanez vonatkozik a cikkcímek szelektorainak státuszára és a rendezés sorrendjére. Egy vagy másik aljzat hozzáadásakor figyelembe veszik a "ÉS / VAGY" rádiógombok állapotát, és a megfelelő alrészletet hozzáadjuk az SQL lekérdezéshez, amelyet a "és" vagy a "vagy" logikai elem előzi meg. A végleges kérés generálása után végrehajtódik, és a létrehozott oldal a kritériumoknak megfelelő cikkek listáján alapul.
A cikkben szereplő példák teljes kódja, beleértve az adatbázis fájlt is, a CD-ROM-on található.
És végül is
Az EasyASP 4.0 elérhető a CD-ROM-on.
Rengeteg helyszín közül választottam azokat, akiknek a látogatása különösen hasznos volt számomra, és akikkel meg akarta ismerni az olvasókat:
Példák az ASP kódra a szakemberek számára
SQL hivatkozás és példa webhely - jól strukturált SQL anyag
A közelmúltban a Cougar egy új sorozatú tápegységet vezetett be a hagyományos PC-khez - a VTX-hez, a korlátozott költségvetésű felhasználók számára. Ebben a felülvizsgálat során figyelembe kell venni a Cougar VTX600 modellt, amely jellemzői miatt az egyik legnépszerűbb ebben a tápegységben
Az évente megrendezésre kerülő esemény kapszaicin SIGGRAPH Los Angeles, az AMD megerősítette pozícióját a PC-piac a high-end új processzorok Ryzen Threadripper és GPU «Vega»
Egy egyszerű és kényelmes építési hétköznapi felhasználók hálózati cég ZyXEL kiadta a következő változat az internetes csomópont csatlakozik a 3G / 4G hálózatok USB-modem Wi-Fi hozzáférési pont - ZyXEL Keenetic 4G III, amit úgy ez a felülvizsgálat
A nagy routerek és útválasztók családjához az ASUS nemrégiben két nagyon érdekes modellt is felvetett: a zászlóshajó 4G-AC55U és az egyszerűbb 4G-N12. Ez a cikk az ASUS 4G-AC55U zászlóshajóját fogja figyelembe venni
Fiatal, de ambiciózus cég Krez idén kiadott egy új, eredeti modell laptop Krez Ninja (modell TM1102B32) Windows 10. Mivel ez a számítógép egy forgatható képernyő, ez szolgál egy univerzális megoldás - sikeresen lehet alkalmazni a munkát, és tanulmányozásra és játékokra
Ha gyakran fotókat nyomtat, és máris belefáradt a nyomtatóban lévő patronok cseréjéhez, forduljon az Epson L850 MFP-hez. Nagy mennyiségű fogyóeszköz, kitűnő minőségű nyomatok, sokféle funkcionalitás - ezek csak néhány előnye ennek a modellnek