Handboek Annuleren

ASP-opdrachten gebruiken om een database aan te passen in Dreamweaver

 

 

Lees hoe u ASP-opdrachten in Dreamweaver gebruikt om een database aan te passen en een opgeslagen procedure toe te voegen en uit te voeren.

Opmerking:

De gebruikersinterface van nieuwere versies van Dreamweaver is vereenvoudigd. Daarom zijn sommige opties die in dit artikel worden beschreven, niet beschikbaar in nieuwere versies van Dreamweaver. Zie dit artikel voor meer informatie.

Over ASP-opdrachtobjecten

Een ASP-opdrachtobject is een serverobject dat een bepaalde bewerking uitvoert in een database. Het object kan een geldige SQL-instructie bevatten, waaronder een instructie die een recordset retourneert, of een die records in een database invoegt, bijwerkt of verwijdert. Een opdrachtobject kan de structuur van een database veranderen als de SQL-instructie een kolom aan een tabel toevoegt of eruit verwijdert. Met een opdrachtobject kunt u eveneens een opgeslagen procedure in een database uitvoeren.

Een opdrachtobject kan meerdere malen worden gebruikt, in die zin dat de toepassingsserver een enkele gecompileerde versie van het object kan hergebruiken om de opdracht een aantal keer uit te voeren. U kunt een opdracht geschikt maken voor hergebruik door de eigenschap Prepared (Voorbereid) van het opdrachtobject in te stellen op true (waar), zoals in de volgende VBScript-instructie:

mycommand.Prepared = true
mycommand.Prepared = true
mycommand.Prepared = true

Als u weet dat de opdracht meerdere malen zal worden uitgevoerd, worden databasebewerkingen doeltreffender uitgevoerd als u een gecompileerde versie van het object hebt.

Opmerking:

Niet alle databaseproviders ondersteunen voorbereide opdrachten. Als uw database geen voorbereide opdrachten ondersteunt, wordt mogelijk een foutbericht weergegeven wanneer u deze eigenschap instelt op true. Het is zelfs mogelijk dat het verzoek wordt genegeerd om de opdracht voor te bereiden en de eigenschap Prepared (Voorbereid) in te stellen op false.

Een opdrachtobject wordt gemaakt met scripts op een ASP-pagina, maar in Dreamweaver kunt u opdrachtobjecten ook maken zonder een enkele regel ASP-code te schrijven.

ASP-opdrachten gebruiken om een database te wijzigen

Met Dreamweaver kunt u ASP-opdrachtobjecten maken om records in een database in te voegen, bij te werken of te verwijderen. U verstrekt het opdrachtobject met de SQL-opdracht of opgeslagen procedure die de bewerking voor de database uitvoert.

  1. Open in Dreamweaver de ASP-pagina waarop de opdracht wordt uitgevoerd.
  2. Open het paneel Servergedrag (Venster > Servergedrag), klik op de plusknop (+) en selecteer Opdracht.
  3. Voer een naam voor de opdracht in, selecteer een verbinding met de database die de records bevat die u wilt bewerken, en selecteer de bewerking die u wilt uitvoeren: Invoegen, Bijwerken of Verwijderen.

    Dreamweaver start de SQL-instructie op basis van het type bewerking dat u selecteert. Als u bijvoorbeeld Invoegen selecteert, ziet het dialoogvenster eruit als in het volgende voorbeeld:

    De ASP-opdracht invoeren
    De ASP-opdracht invoeren

  4. Maak de SQL-instructie af.

    Raadpleeg een handleiding bij Transact SQL voor informatie over het schrijven van SQL-instructies die databases wijzigen.

  5. Gebruik het gebied Variabelen als u SQL-variabelen wilt definiëren. Geef de naam en runtime waarde op. Door het type en de grootte van elke variabele op te geven, kunt u injectie-aanvallen voorkomen.

    In het volgende voorbeeld ziet u een Insert-instructie die drie SQL-variabelen bevat. De waarden van deze variabelen worden verschaft door URL-parameters die aan de pagina worden doorgegeven, zoals is gedefinieerd in de kolom Runtime-waarde van het gebied Variabelen.

    Een invoeginstructie die drie SQL-variabelen bevat
    Een invoeginstructie die drie SQL-variabelen bevat

    Gebruik het deelvenster Databases in Dreamweaver om de waarde voor Grootte te verkrijgen. Zoek de database in het deelvenster Databases en vouw het item uit. Zoek vervolgens de tabel waarmee u werkt en vouw ook deze uit. In de tabel worden de grootten van de velden vermeld. U vindt hier bijvoorbeeld ADDRESS (WChar 50). In dit voorbeeld is 50 de grootte. U kunt de grootte ook in uw databasetoepassing vinden.

    Opmerking:

    De gegevenstypen Numeriek, Booleaans en Datum/tijd hebben altijd de grootte -1.

    In de volgende tabel vindt u de waarde voor Type:

    Type in database

    Type in Dreamweaver

    Grootte

    Numeriek (MS Access, MS SQL Server, MySQL)

    Dubbel

    -1

    Booleaans, Ja/Nee (MS Access, MS SQL Server, MySQL)

    Dubbel

    -1

    Datum/tijd (MS Access, MS SQL Server, MySQL)

    DBTimeStamp

    -1

    Alle andere tekstveldtypen, waaronder de MySQL-tekstgegevenstypen char, varchar en longtext

    LongVarChar

    databasetabel controleren

    Tekst (MS Access) of nvarchar, nchar (MS SQL Server)

    VarWChar

    databasetabel controleren

    Memo (MS Access), ntext (MS SQL Server) of velden die grote hoeveelheden tekst ondersteunen

    LongVarWChar

    1073741823

    Zie www.adobe.com/go/4e6b330a voor meer informatie over het type en de grootte van SQL-variabelen.

  6. Sluit het dialoogvenster.

    Dreamweaver voegt ASP-code in uw pagina in die, wanneer deze op de server wordt uitgevoerd, een opdracht maakt die records in de database invoegt, bijwerkt of verwijdert.

    Standaard stelt de code de eigenschap Prepared van het Command-object in op true, zodat de toepassingsserver dezelfde gecompileerde versie van het object telkens opnieuw gebruikt wanneer de opdracht wordt uitgevoerd. Als u deze instelling wilt wijzigen, gaat u naar de codeweergave en verandert u de eigenschap Prepared (Voorbereid) in false.

  7. Maak een pagina met een HTML-formulier zodat gebruikers recordgegevens kunnen invoeren. Neem in het HTML-formulier drie tekstvelden (txtCity, txtAddress en txtPhone) en een verzendknop op. Het formulier gebruikt de methode GET en verzendt de waarden van de tekstvelden naar de pagina die uw opdracht bevat.

Opgeslagen procedures

Hoewel u servergedrag kunt gebruiken om pagina's samen te stellen die databases wijzigen, kunt u de pagina's ook samenstellen met objecten voor databasemanipulatie, zoals opgeslagen procedures of ASP-opdrachtobjecten.

Een opgeslagen procedure is een herbruikbaar database-item dat een bepaalde bewerking met de database uitvoert. Een opgeslagen procedure bevat SQL-code waarmee u onder andere records kunt invoegen, bijwerken of verwijderen. Met opgeslagen procedures kunt u ook de structuur van de database zelf wijzigen. U kunt een opgeslagen procedure bijvoorbeeld gebruiken om een tabelkolom toe te voegen, of zelfs om een tabel te verwijderen.

Een opgeslagen procedure kan ook een andere opgeslagen procedure aanroepen en invoerparameters accepteren of in de vorm van uitvoerparameters meerdere waarden aan de aanroepende procedure retourneren.

Een opgeslagen procedure is in die zin herbruikbaar dat u een enkele gecompileerde versie van de procedure kunt gebruiken om een databasebewerking een aantal keer uit te voeren. Als u weet dat een bepaalde databasetaak meerdere keren zal worden uitgevoerd, of dat dezelfde taak door verschillende toepassingen zal worden uitgevoerd, kunnen databasebewerkingen doeltreffender worden uitgevoerd door een opgeslagen procedure voor die taak te gebruiken.

Opmerking:

MySQL- en Microsoft Access-databases bieden geen ondersteuning voor opgeslagen procedures.

Een opgeslagen procedure toevoegen (ColdFusion) (CS6)

U kunt een opgeslagen procedure gebruiken om een database te wijzigen. Een opgeslagen procedure is een herbruikbaar database-item dat een bepaalde bewerking met de database uitvoert.

Voordat u een opgeslagen procedure gebruikt om een database te wijzigen, moet u ervoor zorgen dat de opgeslagen procedure SQL bevat dat de database in een bepaald opzicht verandert. Raadpleeg uw databasedocumentatie en een goede handleiding voor Transact-SQL voor instructies bij het maken van een opgeslagen procedure en het opslaan ervan in uw database.

  1. Open de pagina die de opgeslagen procedure zal uitvoeren, in Dreamweaver.
  2. Klik in het paneel Bindingen (Venster > Bindingen) op de plusknop (+) en selecteer Opgeslagen procedure.
  3. Selecteer in het pop-upmenu Gegevensbron een verbinding met de database die de opgeslagen procedure bevat.
  4. Voer de gebruikersnaam en het wachtwoord voor de ColdFusion-gegevensbron in.
  5. Selecteer een opgeslagen procedure in het pop-upmenu Procedures.

    Dreamweaver vult alle parameters automatisch in.

  6. Selecteer een parameter en klik op Bewerken als u wijzigingen wilt aanbrengen.

    Het dialoogvenster Variabele voor opgeslagen procedure bewerken wordt geopend. De naam van de variabele die u bewerkt, wordt in het vak Naam weergegeven.

    Opmerking:

    U moet testwaarden voor alle invoerparameters van de opgeslagen procedure invoeren.

  7. Breng de noodzakelijke wijzigingen aan:
    • Selecteer een richting in het pop-upmenu. Een opgeslagen procedure kan invoerwaarden, uitvoerwaarden of zowel invoer- als uitvoerwaarden hebben.

    • Selecteer een SQL-type in het pop-upmenu. Voer een resultaatwaarde, een runtime-waarde en een testwaarde in.

  8. Als de opgeslagen procedure een parameter nodig heeft, klikt u op de plusknop (+) om een paginaparameter toe te voegen.
    Opmerking:

    U moet corresponderende paginaparameters toevoegen voor elke resultaatwaarde van elke opgeslagen-procedureparameter. Voeg alleen paginaparameters toe als er een corresponderende resultaatwaarde is.

    Klik nogmaals op de plusknop (+) als u nog een paginaparameter moet toevoegen.

  9. Selecteer een paginaparameter en klik op de minknop (-) als u de parameter moet verwijderen, of klik op Bewerken als u de parameter moet wijzigen.
  10. Selecteer de optie 'Retourneert de volgende recordset', en voer een naam voor de recordset in. Als de opgeslagen procedure een recordset retourneert, klikt u op de knop Testen om de recordset te zien die de opgeslagen procedure retourneert.

    Dreamweaver voert de opgeslagen procedure uit en geeft eventueel de recordset weer.

    Opmerking:

    Als de opgeslagen procedure een recordset retourneert en parameters nodig heeft, moet u een waarde in de kolom Standaardwaarde van het vak Variabelen invoeren om de opgeslagen procedure te testen.

    Opmerking:

    U kunt verschillende testwaarden gebruiken om verschillende recordsets te genereren. Als u testwaarden wilt wijzigen, klikt u op de knop Bewerken voor Parameter en verandert u de testwaarde, of klikt u op de knop Bewerken voor Paginaparameter en verandert u de standaardwaarde.

  11. Selecteer de optie 'Retourneert de volgende statuscode' en voer een naam voor de statuscode in als de opgeslagen procedure een resultaatwaarde voor de statuscode retourneert. Klik op OK.

    Wanneer u het vak hebt gesloten, voegt Dreamweaver ColdFusion-code op de pagina in die een opgeslagen procedure in de database aanroept wanneer de code op de server wordt uitgevoerd. De opgeslagen procedure voert op zijn beurt een databasebewerking uit, bijvoorbeeld het invoegen van een record.

    Als de opgeslagen procedure parameters nodig heeft, kunt u een pagina maken waarop de parameterwaarden worden verzameld en worden verstuurd naar de pagina met de opgeslagen procedure. U zou bijvoorbeeld een pagina kunnen maken die URL-parameters of een HTML-formulier gebruikt om parameterwaarden van gebruikers te verkrijgen.

Een opgeslagen procedure uitvoeren (ASP) (CS6)

Met ASP-pagina's moet u een opdrachtobject aan een pagina toevoegen om een opgeslagen procedure te kunnen uitvoeren. Zie Over ASP-opdrachtobjecten voor meer informatie over opdrachtobjecten.

  1. Open de pagina die de opgeslagen procedure zal uitvoeren, in Dreamweaver.
  2. Klik in het paneel Bindingen (Venster > Bindingen) op de plusknop (+) en selecteer Opdracht (opgeslagen procedure).

    Het dialoogvenster Opdracht wordt geopend.

  3. Voer een naam voor de opdracht in, selecteer een verbinding met de database die de opgeslagen procedure bevat en kies Opgeslagen procedure in het pop-upmenu Type.
  4. Selecteer de opgeslagen procedure door het item Opgeslagen procedures in het vak Database-items uit te vouwen, de opgeslagen procedure in de lijst te selecteren en op de knop Procedure te klikken.
  5. Voer alle vereiste parameters in de tabel Variabelen in.

    U hoeft geen parameters in te voeren voor een RETURN_VALUE-variabele.

  6. Klik op OK.

    Zodra u het dialoogvenster sluit, wordt JSP-code op de pagina ingevoegd. Wanneer de code op de server wordt uitgevoerd, maakt de code een opdrachtobject aan dat een opgeslagen procedure in de database uitvoert. De opgeslagen procedure voert op zijn beurt een databasebewerking uit, bijvoorbeeld het invoegen van een record.

    Standaard stelt de code de eigenschap Prepared (Voorbereid) van het opdrachtobject in op true (waar), zodat de toepassingsserver dezelfde gecompileerde versie van het object telkens opnieuw gebruikt wanneer de opgeslagen procedure wordt uitgevoerd. Als u weet dat de opdracht meerdere malen zal worden uitgevoerd, worden databasebewerkingen doeltreffender uitgevoerd als u een gecompileerde versie van het object hebt. Als de opdracht echter maar één of twee keer zal worden uitgevoerd, vertraagt het gebruik van een opgeslagen procedure de webtoepassing eerder omdat het systeem de opdracht eerst moet compileren. Als u deze instelling wilt wijzigen, gaat u naar de codeweergave en verandert u de eigenschap Prepared (Voorbereid) in false (onwaar).

    Opmerking:

    Niet alle databaseproviders ondersteunen voorbereide opdrachten. Als de database geen voorbereide opdrachten ondersteunt, wordt mogelijk een foutbericht weergegeven wanneer u de pagina uitvoert. Schakel over naar de codeweergave en verander de eigenschap Prepared (Voorbereid) in false (onwaar).

    Als de opgeslagen procedure parameters nodig heeft, kunt u een pagina maken waarop de parameterwaarden worden verzameld en worden verstuurd naar de pagina met de opgeslagen procedure. U zou bijvoorbeeld een pagina kunnen maken die URL-parameters of een HTML-formulier gebruikt om parameterwaarden van gebruikers te verkrijgen.

Krijg sneller en gemakkelijker hulp

Nieuwe gebruiker?