Používání příkazů ASP k úpravě databáze v aplikaci Dreamweaver

Naposledy aktualizováno 25. 4. 2024

Naučte se používat příkazy ASP v aplikaci Dreamweaver k úpravě databáze a přidání a spuštění uložené procedury.

Poznámka

Uživatelské rozhraní v aplikaci Dreamweaver a jejích novějších verzích bylo zjednodušeno. Výsledkem je skutečnost, že některé možnosti uvedené v tomto článku nemusí být v aplikaci Dreamweaver a jejích novějších verzích k dispozici. Další informace najdete v tomto článku.

O objektech příkazů ASP

Objekt příkazu ASP je serverový objekt, který provádí určitou operaci v databázi. Objekt může obsahovat jakýkoli platný příkaz SQL, včetně příkazu, který vrací sadu záznamů, nebo příkazu, který vkládá, aktualizuje nebo odstraňuje záznamy v databázi. Objekt příkazu může změnit strukturu databáze, pokud příkaz SQL přidá nebo odstraní sloupec v tabulce. Objekt příkazu můžete také použít ke spuštění uložené procedury v databázi.

Objekt příkazu může být znovupoužitelný v tom smyslu, že aplikační server může znovu použít jednu zkompilovanou verzi objektu ke spuštění příkazu několikrát. Příkaz učiníte znovupoužitelným nastavením vlastnosti Prepared objektu Command na true, tak jak ukazuje následující příkaz VBScript:

mycommand.Prepared = true

Pokud víte, že příkaz bude spuštěn více než několikrát, může jedna zkompilovaná verze objektu učinit operace databáze efektivnější.

Poznámka

Připravené příkazy nejsou podporovány všemi databázovými poskytovateli. Pokud vaše databáze tuto funkci nepodporuje, může vrátit chybu, když nastavíte tuto vlastnost na true. Může dokonce ignorovat požadavek na přípravu příkazu a nastavit vlastnost Prepared na false.

Objekt příkazu je vytvářen skripty na stránce ASP, ale Dreamweaver vám umožňuje vytvářet objekty příkazů bez psaní jediného řádku kódu ASP.

Používání příkazů ASP k úpravě databáze

Můžete použít Dreamweaver k vytvoření objektů příkazů ASP, které vkládají, aktualizují nebo odstraňují záznamy v databázi. Objektu příkazu poskytnete příkaz SQL nebo uloženou proceduru, která provede operaci v databázi.

V aplikaci Dreamweaver otevřete stránku ASP, která spustí příkaz.
Otevřete panel Chování serveru (Okno > Chování serveru), klikněte na tlačítko Plus (+) a vyberte Command.
Zadejte název příkazu, vyberte připojení k databázi, která obsahuje záznamy, jež chcete upravit, a vyberte operaci úprav, kterou má příkaz provést — Insert, Update nebo Delete.

Dreamweaver zahájí příkaz SQL na základě typu operace, kterou vyberete. Pokud například vyberete Insert, dialogové okno bude vypadat jako následující příklad:

Zadejte příkaz ASP
Zadejte příkaz ASP

Proveďte příkaz SQL.

Informace o psaní příkazů SQL, které upravují databáze, najdete v příručce Transact‑SQL.

V části Proměnné můžete definovat proměnné SQL. Zadejte název a hodnotu za běhu.Specifikace typu a velikosti každé proměnné zabrání injekčním útokům.

Následující příklad ukazuje příkaz Insert, který obsahuje tři proměnné SQL. Hodnoty těchto proměnných poskytují parametry URL předané stránce, jak je definováno ve sloupci Hodnota za běhu oblasti Proměnné.

Příkaz vložení se třemi proměnnými SQL
Příkaz vložení se třemi proměnnými SQL

Pro získání hodnoty Size použijte panel Databáze v aplikaci Dreamweaver. Najděte svou databázi v panelu Databáze a rozbalte ji.Dále najděte tabulku, se kterou pracujete, a rozbalte ji. Tabulka uvádí velikosti polí. Například může být zapsáno ADDRESS (WChar 50). V tomto příkladu je velikost pole 50. Velikost můžete také najít v databázové aplikaci.

Poznámka

Numerické, logické a datové/časové datové typy vždy používají -1 jako velikost.

Pro určení hodnoty Type viz následující tabulku:

Typ v databázi

Typ v aplikaci Dreamweaver

Velikost

Číselný (MS Access, MS SQL Server, MySQL)

Dvojitá přesnost

-1

Logický, Ano/Ne (MS Access, MS SQL Server, MySQL)

Dvojitá přesnost

-1

Datum/čas (MS Access, MS SQL Server, MySQL)

DBTimeStamp

-1

Všechny ostatní typy textových polí, včetně datových typů MySQL text char, varchar a longtext

LongVarChar

viz databázová tabulka

Text (MS Access) nebo nvarchar, nchar (MS SQL Server)

VarWChar

viz databázová tabulka

Poznámka (MS Access), ntext (MS SQL Server), nebo pole, která podporují velké množství textu

LongVarWChar

1073741823

Další informace o typu a velikosti proměnných SQL naleznete v www.adobe.com/go/4e6b330a.

Zavřete dialogové okno.

Dreamweaver vloží do vaší stránky kód ASP, který při spuštění na serveru vytvoří příkaz, jenž vkládá, aktualizuje nebo odstraňuje záznamy v databázi.

Ve výchozím nastavení kód nastaví vlastnost Prepared objektu Command na true, což způsobí, že aplikační server znovu použije jednu kompilovanou verzi objektu při každém spuštění příkazu. Pro změnu tohoto nastavení přepněte do zobrazení kódu a změňte vlastnost Prepared na false.

Vytvořte stránku s formulářem HTML, aby mohli uživatelé zadávat data záznamu. Do formuláře HTML zahrňte tři textová pole (txtCity, txtAddress a txtPhone) a tlačítko pro odeslání. Formulář používá metodu GET a odesílá hodnoty textových polí na stránku, která obsahuje váš příkaz.

O uložených procedurách

Ačkoli můžete použít chování serveru k vytváření stránek, které upravují databáze, můžete také použít objekty pro manipulaci databáze, jako jsou uložené procedury nebo objekty příkazů ASP k vytváření stránek.

Uložená procedura je opakovaně použitelná databázová položka, která provádí určitou operaci v databázi. Uložená procedura obsahuje kód SQL, který může mimo jiné vkládat, aktualizovat nebo odstraňovat záznamy. Uložené procedury mohou také změnit strukturu samotné databáze. Například můžete použít uloženou proceduru k přidání sloupce tabulky nebo dokonce k odstranění tabulky.

Uložená procedura může také volat jinou uloženou proceduru, přijímat vstupní parametry a vracet více hodnot volající proceduře ve formě výstupních parametrů.

Uložená procedura je opakovaně použitelná v tom smyslu, že můžete znovu použít jednu kompilovanou verzi procedury k provedení databázové operace několikrát. Pokud víte, že databázová úloha bude provedena více než několikrát—nebo stejnou úlohu bude provádět několik různých aplikací—použití uložené procedury k provedení této úlohy může učinit databázové operace efektivnějšími.

Poznámka

Databáze MySQL a Microsoft Access nepodporují uložené procedury.

Přidání uložené procedury (ColdFusion) (CS6)

K úpravě databáze můžete použít uloženou proceduru. Uložená procedura je opakovaně použitelná položka databáze, která provádí určitou operaci s databází.

Než použijete uloženou proceduru k úpravě databáze, ujistěte se, že uložená procedura obsahuje SQL, které nějak upravuje databázi. Chcete-li vytvořit a uložit jeden ve své databázi, prostudujte si dokumentaci k databázi a kvalitní příručku k Transact-SQL.

V aplikaci Dreamweaver otevřete stránku, která spustí uloženou proceduru.
Na panelu Vazby (Okno > Vazby) klikněte na tlačítko Plus (+) a poté vyberte možnost Uložená procedura.
V rozbalovací nabídce Zdroj dat vyberte připojení k databázi obsahující uloženou proceduru.
Zadejte uživatelské jméno a heslo zdroje dat ColdFusion.
V rozbalovací nabídce Procedury vyberte uloženou proceduru.

Aplikace Dreamweaver automaticky vyplní veškeré parametry.

Vyberte parametr a klikněte na tlačítko Upravit, pokud je třeba provést změny.

Objeví se dialogové okno Úprava proměnné uložené procedury. V rámečku Název se zobrazí název proměnné, kterou upravujete.

Poznámka

Pro všechny vstupní parametry uložené procedury musíte zadat testovací hodnoty.

Proveďte potřebné změny.
  • Z rozbalovací nabídky vyberte volbu Směr. Uložená procedura může mít vstupní hodnoty, výstupní hodnoty nebo obojí vstupní i výstupní hodnoty.

  • Z rozbalovací nabídky vyberte volbu Typ SQL. Zadejte návratovou proměnnou, běhovou hodnotu a testovací hodnotu.

Pokud uložená procedura přijímá parametr, klikněte na tlačítko Plus (+) a přidejte parametr stránky.
Poznámka

Pro každou návratovou hodnotu parametru uložené procedury musíte zadat odpovídající parametry stránky. Nepřidávejte parametry stránky, pokud neexistuje odpovídající návratová hodnota.

V případě potřeby klikněte znovu na tlačítko Plus (+) a přidejte další parametr stránky.

Vyberte parametr stránky a v případě potřeby klikněte na tlačítko Minus (-) ke smazání parametru nebo klikněte na tlačítko Upravit, chcete-li provést změny parametru.
Vyberte možnost Vrací sadu záznamů s názvem a poté zadejte název pro sadu záznamů; pokud uložená procedura vrací sadu záznamů, klikněte na tlačítko Test a zobrazte sadu záznamů, kterou uložená procedura vrací.

Aplikace Dreamweaver spustí uloženou proceduru a zobrazí sadu záznamů, pokud existuje.

Poznámka

Pokud uložená procedura vrací sadu záznamů a přijímá parametry, musíte zadat hodnotu ve sloupci Výchozí hodnota v poli Proměnné, abyste mohli uloženou proceduru otestovat.

Poznámka

K vygenerování různých sad záznamů můžete použít různé testovací hodnoty. Chcete-li změnit testovací hodnoty, klikněte na tlačítko Upravit pro Parametr a změňte testovací hodnotu nebo klikněte na tlačítko Upravit pro Parametr stránky a změňte výchozí hodnotu.

Zvolte možnost Returns Status Code Named a zadejte název stavového kódu, pokud uložená procedura vrací stavový kód návratovou hodnotu. Klikněte na tlačítko OK.

Po zavření tohoto okna vloží Dreamweaver kód ColdFusion na vaši stránku, který při spuštění kódu na serveru zavolá uloženou proceduru v databázi.Uložená procedura naopak provede databázovou operaci, například vložení záznamu.

Pokud uložená procedura přijímá parametry, můžete vytvořit stránku, která shromáždí hodnoty parametrů a odešle je na stránku s uloženou procedurou. Například můžete vytvořit stránku, která používá URL parametry nebo HTML formulář pro shromažďování hodnot parametrů od uživatelů.

Spuštění uložené procedury (ASP) (CS6)

U ASP stránek musíte na stránku přidat objekt příkazu pro spuštění uložené procedury. Další informace o příkazových objektech naleznete v části O příkazových objektech ASP.

V aplikaci Dreamweaver otevřete stránku, která bude spouštět uloženou proceduru.
V panelu Vazby (Okno > Vazby) klikněte na tlačítko Plus (+) a poté zvolte Command (Stored Procedure).

Objeví se dialogové okno Příkaz.

Zadejte název příkazu, vyberte připojení k databázi obsahující uloženou proceduru a poté z rozevírací nabídky Typ vyberte možnost Uložená procedura.
Zvolte svou uloženou proceduru rozbalením větve Stored Procedures v poli Database Items, výběrem uložené procedury ze seznamu a kliknutím na tlačítko Procedure.
Případné parametry zadejte do tabulky Proměnné.

Nemusíte zadávat parametry proměnných RETURN_VALUE.

Klepněte na tlačítko OK.

Po zavření dialogového okna se do vaší stránky vloží ASP kód. Když se kód spustí na serveru, vytvoří objekt příkazu, který spustí uloženou proceduru v databázi. Uložená procedura naopak provede databázovou operaci, například vložení záznamu.

Ve výchozím nastavení kód nastaví vlastnost Prepared objektu Command na true, což způsobí, že aplikační server znovu použije jednu zkompilovanou verzi objektu při každém spuštění uložené procedury. Pokud víte, že příkaz bude proveden více než několikrát, může mít jednu zkompilovanou verzi objektu zlepšit efektivitu databázových operací. Pokud však bude příkaz prováděn pouze jednou nebo dvakrát, použití jedné verze může skutečně zpomalit vaši webovou aplikaci, protože systém musí pozastavit kompilaci příkazu. Chcete-li změnit nastavení, přepněte do zobrazení Code a změňte vlastnost Prepared na false.

Poznámka

Ne všichni poskytovatelé databází podporují připravené příkazy. Pokud vaše databáze tuto funkci nepodporuje, při spuštění stránky můžete dostat chybovou zprávu.Přepněte do zobrazení Code a změňte vlastnost Prepared na false.

Pokud uložená procedura přijímá parametry, můžete vytvořit stránku, která shromáždí hodnoty parametrů a odešle je na stránku s uloženou procedurou. Například můžete vytvořit stránku, která používá URL parametry nebo HTML formulář pro shromažďování hodnot parametrů od uživatelů.