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

Laatst bijgewerkt op 25 apr. 2024

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.

Notitie

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. Meer informatie vindt u in dit artikel.

Over ASP-opdrachtobjecten

Een ASP command object is een serverobject dat een bewerking uitvoert op een database.Het object kan elke geldige SQL-verklaring bevatten, inclusief een verklaring die een recordset retourneert, of een verklaring die records invoegt, bijwerkt of verwijdert in een database. Een command object kan de structuur van een database wijzigen als de SQL-verklaring een kolom in een tabel toevoegt of verwijdert. Je kunt ook een command object gebruiken om een opgeslagen procedure uit te voeren in een database.

Een command object kan herbruikbaar zijn, in de zin dat de applicatieserver een enkele gecompileerde versie van het object kan hergebruiken om de opdracht meerdere keren uit te voeren. Je maakt een command herbruikbaar door de Prepared-eigenschap van het Command object in te stellen op true, zoals in de volgende VBScript-verklaring:

mycommand.Prepared = true

Als je weet dat de opdracht meer dan een paar keer wordt uitgevoerd, kan een enkele gecompileerde versie van het object databasebewerkingen efficiënter maken.

Notitie

Niet alle databaseproviders ondersteunen voorbereide opdrachten. Als je database dit niet ondersteunt, kan het een fout retourneren wanneer je deze eigenschap instelt op true. Het kan zelfs het verzoek om de opdracht voor te bereiden negeren en de Prepared-eigenschap instellen op false.

Een command object wordt gemaakt door scripts op een ASP-pagina, maar Dreamweaver laat je command objects maken zonder een regel ASP-code te schrijven.

ASP-opdrachten gebruiken om een database te wijzigen

Je kunt Dreamweaver gebruiken om ASP command objects te maken die records invoegen, bijwerken of verwijderen in een database. Je voorziet het command object van de SQL-verklaring of opgeslagen procedure die de bewerking uitvoert op de database.

Open in Dreamweaver de ASP-pagina die de opdracht uitvoert.
Open het deelvenster Server Behaviors (Venster > Server Behaviors), klik op de Plus (+)-knop en selecteer Command.
Voer een naam in voor de opdracht, selecteer een verbinding met de database die de records bevat die je wilt bewerken, en selecteer de bewerkingsbewerking die je wilt dat de opdracht uitvoert—Invoegen, Bijwerken of Verwijderen.

Dreamweaver start de SQL-verklaring, gebaseerd op het type bewerking dat je selecteert. Als je bijvoorbeeld Invoegen selecteert, ziet het dialoogvenster er als volgt uit:

De ASP-opdracht invoeren
De ASP-opdracht invoeren

Maak de SQL-instructie af.

Voor informatie over het schrijven van SQL-instructies die databases wijzigen, raadpleeg een Transact‑SQL-handleiding.

Gebruik het gebied Variabelen als u SQL-variabelen wilt definiëren. Geef de naam en runtime-waarde op. Het specificeren van het type en de grootte van elke variabele voorkomt injectieaanvallen.

Het volgende voorbeeld laat een Insert-instructie zien die drie SQL-variabelen bevat.De waarden van deze variabelen worden geleverd door URL-parameters die aan de pagina worden doorgegeven, zoals gedefinieerd in de Runtime-waarde kolom van het Variables-gebied.

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

Om de Size-waarde te verkrijgen, gebruik je het Databases-deelvenster in Dreamweaver. Zoek je database in het Databases-deelvenster en vouw deze uit.Zoek vervolgens de tabel waarmee je werkt en vouw deze uit. In de tabel worden de grootten van de velden vermeld. Het kan bijvoorbeeld ADDRESS (WChar 50) zijn. In dit voorbeeld is 50 de grootte. Je kunt de grootte ook vinden in je database-applicatie.

Notitie

Numerieke, Boolean- en datum/tijd-gegevenstypen gebruiken altijd -1 als grootte.

Om de Type-waarde te bepalen, zie de volgende tabel:

Type in database

Type in Dreamweaver

Grootte

Numeriek (MS Access, MS SQL Server, MySQL)

Dubbel

-1

Boolean, Yes/No (MS Access, MS SQL Server, MySQL)

Dubbel

-1

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

DBTimeStamp

-1

Alle andere typen tekstvelden, inclusief de MySQL-tekst gegevenstypen char, varchar en longtext

LongVarChar

databasetabel controleren

Text (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

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

Sluit het dialoogvenster.

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

Standaard stelt de code de Prepared-eigenschap van het Command-object in op true, waardoor de applicatieserver één gecompileerde versie van het object hergebruikt elke keer dat de opdracht wordt uitgevoerd. Om deze instelling te wijzigen, schakel over naar Codeweergave en wijzig de Prepared-eigenschap naar false.

Maak een pagina met een HTML-formulier zodat gebruikers recordgegevens kunnen invoeren. Voeg in het HTML-formulier drie tekstvelden toe (txtCity, txtAddress, en txtPhone) en een verzendknop. Het formulier gebruikt de GET-methode en verzendt de tekstveldwaarden naar de pagina die je opdracht bevat.

Opgeslagen procedures

Hoewel je server behaviors kunt gebruiken om pagina's te bouwen die databases wijzigen, kun je ook database-manipulatieobjecten zoals opgeslagen procedures of ASP-opdrachtobjecten gebruiken om de pagina's te bouwen.

Een opgeslagen procedure is een herbruikbaar database-item dat een bepaalde bewerking op de database uitvoert. Een opgeslagen procedure bevat SQL-code die onder andere records kan invoegen, bijwerken of verwijderen. Opgeslagen procedures kunnen ook de structuur van de database zelf wijzigen. Je kunt bijvoorbeeld een opgeslagen procedure gebruiken om een tabelkolom toe te voegen of zelfs een tabel te verwijderen.

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

Een opgeslagen procedure is herbruikbaar in die zin dat je een enkele gecompileerde versie van de procedure kunt hergebruiken om een databasebewerking een aantal keren uit te voeren. Als je weet dat een databasetaak meer dan een paar keer uitgevoerd zal worden—of dezelfde taak uitgevoerd zal worden door verschillende applicaties—kan het gebruik van een opgeslagen procedure om die taak uit te voeren de database-bewerkingen efficiënter maken.

Notitie

MySQL- en Microsoft Access-databases ondersteunen geen opgeslagen procedures.

Opgeslagen procedure toevoegen (ColdFusion) (CS6)

Je kunt een opgeslagen procedure gebruiken om een database te wijzigen. Een opgeslagen procedure is een herbruikbaar database-item dat een bewerking uitvoert op de database.

Voordat je een opgeslagen procedure gebruikt om een database te wijzigen, moet je ervoor zorgen dat de opgeslagen procedure SQL bevat die de database op een bepaalde manier wijzigt. Om er een te maken en op te slaan in je database, raadpleeg je de databasedocumentatie en een goede Transact-SQL handleiding.

Open in Dreamweaver de pagina die de opgeslagen procedure zal uitvoeren.
Klik in het deelvenster Bindingen (Venster > Bindingen) op de plusknop (+) en selecteer vervolgens Opgeslagen procedure.
Selecteer in het pop-upmenu Databron een verbinding met de database die de opgeslagen procedure bevat.
Voer de gebruikersnaam en het wachtwoord voor de ColdFusion-gegevensbron in.
Selecteer een opgeslagen procedure in het pop-upmenu Procedures.

Dreamweaver vult automatisch alle parameters in.

Selecteer een parameter en klik op Bewerken als je wijzigingen moet aanbrengen.

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

Notitie

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

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 retourvariabele, een runtime-waarde en een testwaarde in.

Als de opgeslagen procedure een parameter vereist, klik je op de plusknop (+) om een paginaparameter toe te voegen.
Notitie

Je moet overeenkomende paginaparameters invoeren voor elke retourwaarde van de opgeslagen procedure. Voeg geen paginaparameters toe tenzij er een overeenkomende retourwaarde is.

Klik nogmaals op de plusknop (+) om indien nodig nog een paginaparameter toe te voegen.

Selecteer een paginaparameter en klik op de minknop (-) om de parameter te verwijderen indien nodig, of klik op Bewerken om wijzigingen aan te brengen in de parameter.
Selecteer de optie Returns Recordset Named en voer vervolgens een naam in voor de recordset; als de opgeslagen procedure een recordset retourneert, klik je op de knop Test om de recordset te bekijken die de opgeslagen procedure retourneert.

Dreamweaver voert de opgeslagen procedure uit en toont de recordset, indien aanwezig.

Notitie

Als de opgeslagen procedure een recordset retourneert en parameters vereist, moet je een waarde invoeren in de kolom Standaardwaarde in het vak Variabelen om de opgeslagen procedure te testen.

Notitie

Je kunt verschillende testwaarden gebruiken om verschillende recordsets te genereren. Om testwaarden te wijzigen, klik je op de knop Bewerken voor Parameter en wijzig je de testwaarde, of klik je op de knop Bewerken voor Paginaparameter en wijzig je de standaardwaarde.

Selecteer de optie Returns Status Code Named en voer een naam in voor de statuscode, als de opgeslagen procedure een statuscode retourwaarde retourneert. Klik op OK.

Nadat je het venster sluit, voegt Dreamweaver ColdFusion-code toe aan je pagina 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, zoals het invoegen van een record.

Als de opgeslagen procedure parameters verwacht, kun je een pagina maken die de parameterwaarden verzamelt en ze verzendt naar de pagina met de opgeslagen procedure. Je kunt bijvoorbeeld een pagina maken die URL-parameters of een HTML-formulier gebruikt om parameterwaarden van gebruikers te verzamelen.

Opgeslagen procedure uitvoeren (ASP) (CS6)

Bij ASP-pagina's moet u een commandobject aan een pagina toevoegen om een opgeslagen procedure uit te voeren.Voor meer informatie over command-objecten, zie Over ASP command-objecten.

Open in Dreamweaver de pagina die de opgeslagen procedure gaat uitvoeren.
Klik in het deelvenster Bindingen (Venster > Bindingen) op de knop Plus (+) en selecteer vervolgens Command (Stored Procedure).

Het dialoogvenster Opdracht wordt geopend.

Voer een naam in voor de command, selecteer een verbinding met de database die de opgeslagen procedure bevat en selecteer vervolgens Stored Procedure in het pop-upmenu Type.
Selecteer je opgeslagen procedure door de tak Stored Procedures uit te vouwen in het venster Database Items, de opgeslagen procedure uit de lijst te selecteren en op de knop Procedure te klikken.
Voer alle vereiste parameters in de tabel Variabelen in.

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

Klik op OK.

Nadat je het dialoogvenster sluit, wordt ASP-code ingevoegd in je pagina. Wanneer de code op de server wordt uitgevoerd, maakt deze een command-object aan dat een opgeslagen procedure in de database uitvoert.De opgeslagen procedure voert op zijn beurt een databasebewerking uit, zoals het invoegen van een record.

Standaard stelt de code de eigenschap Prepared van het Command-object in op true, waardoor de applicatieserver elke keer dat de opgeslagen procedure wordt uitgevoerd een enkele gecompileerde versie van het object hergebruikt. Als je weet dat de command meer dan een paar keer wordt uitgevoerd, kan het hebben van een enkele gecompileerde versie van het object de efficiëntie van databasebewerkingen verbeteren. Als de command echter slechts een of twee keer wordt uitgevoerd, kan het gebruik ervan je web-app vertragen omdat het systeem moet pauzeren om de command te compileren. Om de instelling te wijzigen, schakel je over naar de Codeweergave en wijzig je de eigenschap Prepared in false.

Notitie

Niet alle databaseproviders ondersteunen prepared commands. Als je database dit niet ondersteunt, krijg je mogelijk een foutmelding wanneer je de pagina uitvoert. Schakel over naar Codeweergave en wijzig de eigenschap Prepared in false.

Als de opgeslagen procedure parameters verwacht, kun je een pagina maken die de parameterwaarden verzamelt en ze verzendt naar de pagina met de opgeslagen procedure. Je kunt bijvoorbeeld een pagina maken die URL-parameters of een HTML-formulier gebruikt om parameterwaarden van gebruikers te verzamelen.