Förändra en databas med hjälp av ASP-kommandon i Dreamweaver

Senast uppdaterad den 25 apr. 2024

Lär dig hur du använder ASP-kommandon i Dreamweaver för att ändra en databas och lägga till och köra en sparad procedur.

Obs!

Användargränssnittet i Dreamweaver och senare har förenklats. Det kan därför hända att du inte hittar vissa av alternativen i den här artikeln i Dreamweaver och senare. Mer information finns i den här artikeln.

Om ASP-kommandoobjekt

Ett ASP-kommandoobjekt är ett serverobjekt som utför en operation på en databas.Objektet kan innehålla valfri giltig SQL-sats, inklusive en som returnerar en postuppsättning, eller en som infogar, uppdaterar eller tar bort poster i en databas. Ett kommandoobjekt kan ändra strukturen på en databas om SQL-satsen lägger till eller tar bort en kolumn i en tabell.Du kan också använda ett kommandoobjekt för att köra en lagrad procedur i en databas.

Ett kommandoobjekt kan vara återanvändbart, i den meningen att programservern kan återanvända en enda kompilerad version av objektet för att köra kommandot flera gånger.Du gör ett kommando återanvändbart genom att ställa in Prepared-egenskapen för Command-objektet till sant, som i följande VBScript-sats:

mycommand.Prepared = true

Om du vet att kommandot kommer att köras mer än några gånger, kan en enda kompilerad version av objektet göra databasoperationer mer effektiva.

Obs!

Alla databas-providers har inte stöd för förberedda kommandon. Om din databas inte stöder det kan den returnera ett fel när du anger den här egenskapen till sant.Den kan till och med ignorera begäran om att förbereda kommandot och ange egenskapen Prepared till falskt.

Ett kommandoobjekt skapas av skript på en ASP-sida, men Dreamweaver låter dig skapa kommandoobjekt utan att skriva en enda rad ASP-kod.

Förändra en databas med hjälp av ASP-kommandon

Du kan använda Dreamweaver för att skapa ASP-kommandoobjekt som infogar, uppdaterar eller tar bort poster i en databas.Du förser kommandoobjektet med SQL-satsen eller lagrade proceduren som utför operationen på databasen.

Öppna ASP-sidan som ska köra kommandot i Dreamweaver.
Öppna Server Behaviors-panelen (Fönster > Server Behaviors), klicka på Plus-knappen (+) och välj Command.
Ange ett namn för kommandot, välj en anslutning till databasen som innehåller posterna du vill redigera och välj den redigeringsåtgärd som du vill att kommandot ska utföra—Infoga, Uppdatera eller Ta bort.

Dreamweaver startar SQL-satsen baserat på den typ av operation du väljer. Om du till exempel väljer Infoga ser dialogrutan ut som i följande exempel:

Ange ASP-kommandot
Ange ASP-kommandot

Slutför SQL-satsen.

Information om att skriva SQL-satser som ändrar databaser finns i en Transact‑SQL-handbok.

Använd området Variabler om du vill definiera några SQL-variabler. Ange namnet och körningsvärdet. Att specificera typ och storlek för varje variabel förhindrar injektionsattacker.

Följande exempel visar en Insert-sats som innehåller tre SQL-variabler. Värdena för dessa variabler tillhandahålls av URL-parametrar som skickas till sidan, enligt definitionen i Runtime Value-kolumnen i Variables-området.

En Infoga-sats som innehåller tre SQL-variabler
En Infoga-sats som innehåller tre SQL-variabler

För att få Size-värdet använder du Databases-panelen i Dreamweaver. Hitta din databas i Databases-panelen och expandera den. Hitta sedan tabellen du arbetar med och expandera den. Tabellen innehåller uppgifter om fältens storlek. Det kan till exempel stå ADDRESS (WChar 50). I det här exemplet är storleken 50. Du kan också hitta storleken i din databasapplikation.

Obs!

Numeriska, booleska och datum/tid-datatyper använder alltid -1 som storlek.

För att bestämma värdet för Type, se följande tabell:

Typ i databasen

Typ i Dreamweaver

Storlek

Numerisk (MS Access, MS SQL Server, MySQL)

Dubbel

-1

Boolean, Ja/Nej (MS Access, MS SQL Server, MySQL)

Dubbel

-1

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

DBTimeStamp

-1

Alla andra typer av textfält, inklusive MySQL-textdatatyperna char, varchar och longtext

LongVarChar

kontrollera databastabell

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

VarWChar

kontrollera databastabell

Memo (MS Access), ntext (MS SQL Server), eller fält som stöder stora mängder text

LongVarWChar

1073741823

För mer information om typ och storlek på SQL-variabler, se www.adobe.com/go/4e6b330a.

Stäng dialogrutan.

Dreamweaver infogar ASP-kod i din sida som, när den körs på servern, skapar ett kommando som infogar, uppdaterar eller tar bort poster i databasen.

Som standard ställer koden in egenskapen Prepared för Command-objektet till sant, vilket gör att applikationsservern återanvänder en enda kompilerad version av objektet varje gång kommandot körs. För att ändra denna inställning, byt till kodvyn och ändra egenskapen Prepared till falskt.

Skapa en sida med ett HTML-formulär så att användare kan ange postdata. I HTML-formuläret, inkludera tre textfält (txtCity, txtAddress, och txtPhone) och en skicka-knapp. Formuläret använder metoden GET och skickar textfältvärdena till sidan som innehåller ditt kommando.

Om lagrade procedurer

Även om du kan använda serverbeteenden för att bygga sidor som modifierar databaser, kan du också använda databasmanipulationsverktyg som lagrade procedurer eller ASP-kommandoobjekt för att bygga sidorna.

En lagrad procedur är ett återanvändbart databasobjekt som utför någon operation på databasen. En lagrad procedur innehåller SQL-kod som bland annat kan infoga, uppdatera eller ta bort poster. Lagrade procedurer kan också ändra strukturen för själva databasen.Du kan till exempel använda en lagrad procedur för att lägga till en tabellkolumn eller till och med ta bort en tabell.

En lagrad procedur kan också anropa en annan lagrad procedur, samt acceptera indataparametrar och returnera flera värden till den anropande proceduren i form av utdataparametrar.

En lagrad procedur är återanvändbar i den meningen att du kan återanvända en enda kompilerad version av proceduren för att utföra en databasoperation ett antal gånger. Om du vet att en databasuppgift kommer att utföras mer än några få gånger—eller samma uppgift kommer att utföras av olika applikationer—kan användning av en lagrad procedur för att utföra den uppgiften göra databasoperationer mer effektiva.

Obs!

MySQL- och Microsoft Access-databaser stöder inte lagrade procedurer.

Lägg till en lagrad procedur (ColdFusion) (CS6)

Du kan använda en lagrad procedur för att ändra en databas.En lagrad procedur är ett återanvändbart databasobjekt som utför en operation på databasen.

Innan du använder en lagrad procedur för att ändra en databas, se till att den lagrade proceduren innehåller SQL som ändrar databasen på något sätt.För att skapa och lagra en i din databas, konsultera din databasdokumentation och en bra Transact-SQL-manual.

Öppna sidan som ska köra den lagrade proceduren i Dreamweaver.
I panelen Bindningar (Fönster > Bindningar) klickar du på knappen Plus (+) och väljer sedan Lagrad procedur.
Välj en anslutning till databasen som innehåller den lagrade proceduren i popup-menyn Datakälla.
Ange användarnamnet och lösenordet till ColdFusion-datakällan.
Välj en lagrad procedur från popup-menyn Procedurer.

Dreamweaver fyller automatiskt i alla parametrar.

Välj en parameter och klicka på Redigera om du behöver göra ändringar.

Dialogrutan Redigera lagrad procedurvariabel visas. Namnet på den variabel du redigerar visas i rutan Namn.

Obs!

Du måste ange testvärden för alla indataparametrar för lagrade procedurer.

Gör de ändringar som krävs:
  • Välj en riktning på snabbmenyn. En lagrad procedur kan ha indatavärden, utdatavärden eller både indata- och utdatavärden.

  • Markera en SQL-typ på snabbmenyn. Ange en returvariabel, ett körtidsvärde och ett testvärde.

Om den lagrade proceduren tar en parameter, klicka på Plus-knappen (+) för att lägga till en sidparameter.
Obs!

Du måste ange motsvarande sidparametrar för varje returvärde för lagrad procedurparameter.Lägg inte till sidparametrar om det inte finns ett motsvarande returvärde.

Klicka på Plus-knappen (+) igen för att lägga till ytterligare en sidparameter om det behövs.

Välj en sidparameter och klicka på Minus-knappen (-) för att ta bort parametern om det behövs eller klicka på Redigera för att göra ändringar i parametern.
Välj alternativet Returnerar recordset med ett namn och ange sedan ett namn för recordsetet; om den lagrade proceduren returnerar ett recordset, klicka på knappen Testa för att se recordsetet som den lagrade proceduren returnerar.

Dreamweaver kör den lagrade proceduren och visar recordsetet, om något.

Obs!

Om den lagrade proceduren returnerar ett recordset och tar parametrar måste du ange ett värde i kolumnen Standardvärde i rutan Variabler för att testa den lagrade proceduren.

Obs!

Du kan använda olika testvärden för att generera olika recordset.För att ändra testvärden, klicka på knappen Redigera för Parameter och ändra testvärdet, eller klicka på knappen Redigera för Sidparameter och ändra standardvärdet.

Välj alternativet Returns Status Code Named, ange ett namn för statuskoden om den lagrade proceduren returnerar en statuskod som returvärde. Klicka på OK.

När du stänger rutan infogar Dreamweaver ColdFusion-kod på din sida som anropar en lagrad procedur i databasen när koden körs på servern.Den lagrade proceduren utför i sin tur en databasåtgärd, som att infoga en post.

Om den lagrade proceduren tar parametrar kan du skapa en sida som samlar parametervärdena och skickar dem till sidan med den lagrade proceduren. Du kan till exempel skapa en sida som använder URL-parametrar eller ett HTML-formulär för att samla parametervärden från användare.

Kör en lagrad procedur (ASP) (CS6)

Med ASP-sidor måste du lägga till ett kommandoobjekt till en sida för att köra en lagrad procedur. Mer information om kommandoobjekt finns i Om ASP-kommandoobjekt.

Öppna sidan som ska köra den lagrade proceduren i Dreamweaver.
Klicka på Plus-knappen (+) i panelen Bindningar (Fönster > Bindningar) och välj sedan Kommando (Lagrad procedur).

Dialogrutan Kommando visas.

Ange ett namn för kommandot, välj en anslutning till databasen som innehåller den lagrade proceduren och välj sedan Lagrad procedur från popup-menyn Typ.
Välj din lagrade procedur genom att expandera grenen Lagrade procedurer i rutan Databasobjekt, välja den lagrade proceduren från listan och klicka på knappen Procedur.
Ange eventuella parametrar i tabellen Variabler.

Du behöver inte ange några parametrar för eventuella RETURN_VALUE-variabler.

Klicka på OK.

När du stänger dialogrutan infogas ASP-kod på din sida. När koden körs på servern skapar koden ett kommandoobjekt som kör en lagrad procedur i databasen. Den lagrade proceduren utför i sin tur en databasåtgärd, som att infoga en post.

Som standard ställer koden in egenskapen Prepared för kommandoobjektet till true, vilket gör att programservern återanvänder en enda kompilerad version av objektet varje gång den lagrade proceduren körs.Om du vet att kommandot kommer att utföras mer än några få gånger kan en enda kompilerad version av objektet förbättra effektiviteten i databasåtgärderna. Men om kommandot bara kommer att utföras en eller två gånger kan användningen av ett sådant faktiskt sakta ner din webbapplikation eftersom systemet måste pausa för att kompilera kommandot. För att ändra inställningen växlar du till kodvy och ändrar egenskapen Prepared till false.

Obs!

Alla databasleverantörer stöder inte förberedda kommandon. Om din databas inte stöder det kan du få ett felmeddelande när du kör sidan. Växla till kodvy och ändra egenskapen Prepared till false.

Om den lagrade proceduren tar parametrar kan du skapa en sida som samlar parametervärdena och skickar dem till sidan med den lagrade proceduren. Du kan till exempel skapa en sida som använder URL-parametrar eller ett HTML-formulär för att samla parametervärden från användare.