Używanie poleceń ASP do modyfikacji bazy danych w programie Dreamweaver

Ostatnia aktualizacja 25 kwi 2024

Informacje o korzystaniu z poleceń ASP w programie Dreamweaver w celu zmodyfikowania bazy danych oraz dodawania i uruchamiania procedury składowanej.

Spostrzeżenie

Interfejs użytkownika w programie Dreamweaver i nowszych wersjach został uproszczony. Dlatego począwszy od wersji Dreamweaver niektóre opcje opisane w tym artykule mogą nie być dostępne. Więcej informacji zawiera ten artykuł.

O obiektach poleceń ASP

Obiekt polecenia ASP to obiekt serwera, który wykonuje operacje na bazie danych.Obiekt może zawierać wszystkie prawidłowe instrukcje SQL, w tym te zwracające zestaw rekordów lub te wstawiające, aktualizujące lub usuwające rekordy w bazie danych. Obiekt command może zmieniać strukturę bazy danych, jeśli instrukcja SQL dodaje lub usuwa kolumnę w tabeli. Można również użyć objektu command do uruchomienia procedury składowanej w bazie danych.

Obiekt command może być wielokrotnego użytku w tym sensie, że serwer aplikacji może ponownie używać pojedynczej skompilowanej wersji obiektu do wykonania polecenia wiele razy. Obiekt command można uczynić wielokrotnego użytku przez ustawienie właściwości Prepared obiektu Command na true, jak w następującej instrukcji VBScript:

mycommand.Prepared = true

Jeśli wiadomo, że polecenie będzie wykonywane więcej niż kilka razy, posiadanie pojedynczej skompilowanej wersji obiektu może sprawić, że operacje bazy danych staną się bardziej efektywne.

Spostrzeżenie

Nie wszystkie systemy dostępu do baz danych obsługują polecenia typu „prepared”. Jeśli baza danych nie obsługuje tego, może zwrócić błąd podczas ustawiania tej właściwości na true. Może nawet zignorować żądanie przygotowania polecenia i ustawić właściwość Prepared na false.

Obiekt command jest tworzony przez skrypty na stronie ASP, ale program Dreamweaver pozwala tworzyć obiekty command bez pisania ani jednej linii kodu ASP.

Używanie poleceń ASP do modyfikacji bazy danych

Można używać programu Dreamweaver do tworzenia obiektów polecenia ASP, które wstawiają, aktualizują lub usuwają rekordy w bazie danych.Obiekt command otrzymuje instrukcję SQL lub procedurę składowaną, która wykonuje operację na bazie danych.

W programie Dreamweaver otwórz stronę ASP, która uruchomi polecenie.
Otwórz panel Server Behaviors (Window > Server Behaviors), kliknij przycisk Plus (+) i wybierz Command.
Wprowadź nazwę polecenia, wybierz połączenie z bazą danych zawierającą rekordy, które chcesz edytować, i wybierz operację edycji, którą ma wykonać polecenie — Insert, Update lub Delete.

Dreamweaver na podstawie typu wybranej operacji rozpoczyna instrukcję SQL.Na przykład, jeśli wybierzesz Insert, okno dialogowe wygląda jak na poniższym przykładzie:

Wprowadź polecenie ASP
Wprowadź polecenie ASP

Uzupełnij instrukcję SQL.

Informacje na temat pisania instrukcji SQL modyfikujących bazy danych można znaleźć w podręczniku Transact‑SQL.

W obszarze Zmienne zdefiniuj dowolne zmienne SQL. Podaj nazwę i wartość czasu wykonania. Określenie typu i rozmiaru każdej zmiennej zapobiega atakom typu injection.

Następujący przykład pokazuje instrukcję Insert zawierającą trzy zmienne SQL. Wartości tych zmiennych są dostarczane przez parametry URL przekazywane do strony, zgodnie z definicją w kolumnie Run‑Time Value obszaru Variables.

Instrukcja Wstaw zawierająca trzy zmienne SQL
Instrukcja Wstaw zawierająca trzy zmienne SQL

Aby uzyskać wartość Size, użyj panelu Databases w programie Dreamweaver. Znajdź bazę danych w panelu Databases i rozwiń ją. Następnie znajdź tabelę, z którą pracujesz i rozwiń ją. Tabela wyświetli listę rozmiarów pól. Na przykład może mieć postać ADDRESS (WChar 50).W tym przykładzie wartość 50 jest rozmiarem. Rozmiar można również znaleźć w aplikacji bazy danych.

Spostrzeżenie

Numeryczne, logiczne i typy danych daty/godziny zawsze używają -1 jako rozmiar.

Aby ustalić wartość typu, zobacz poniższą tabelę:

Typy w bazie danych

Typy w programie Dreamweaver

rozmiar,

Liczba (MS Access, MS SQL Server, MySQL)

Dwukrotnie

-1

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

Dwukrotnie

-1

Data/Czas (MS Access, MS SQL Server, MySQL)

Odcisk czasowy

-1

Wszystkie inne typy pól tekstowych, w tym typy danych tekstowych MySQL char, varchar i longtext

LongVarChar

sprawdź tabelę bazy danych

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

VarWChar

sprawdź tabelę bazy danych

Memo (MS Access), ntext (MS SQL Server) lub pola obsługujące duże ilości tekstu

LongVarWChar

1073741823

Więcej informacji o typie i rozmiarze zmiennych SQL podano w www.adobe.com/go/4e6b330a.

Zamknij okno dialogowe.

Dreamweaver wstawia kod ASP na stronie, który po uruchomieniu na serwerze tworzy polecenie wstawiające, aktualizujące lub usuwające rekordy w bazie danych.

Domyślnie kod ustawia właściwość Prepared obiektu Command na true, co sprawia, że serwer aplikacji ponownie używa pojedynczej skompilowanej wersji obiektu za każdym razem, gdy polecenie jest uruchamiane. Aby zmienić to ustawienie, przełącz się na widok kodu i zmień właściwość Prepared na false.

Utwórz stronę z formularzem HTML, aby użytkownicy mogli wprowadzić dane rekordu. W formularzu HTML umieść trzy pola tekstowe (txtCity, txtAddress i txtPhone) oraz przycisk przesyłania. Formularz używa metody GET i przesyła wartości pól tekstowych do strony zawierającej polecenie.

O procedurach składowanych

Chociaż można używać zachowań serwera do tworzenia stron modyfikujących bazy danych, można również używać obiektów manipulacji bazą danych, takich jak procedury składowane lub obiekty poleceń ASP, do tworzenia stron.

Procedura składowana to element bazy danych do wielokrotnego użytku, który wyrkonuje jakąś operację na bazie danych. Procedura składowana zawiera kod SQL, który może między innymi wstawiać, aktualizować lub usuwać rekordy. Procedury składowane mogą również zmieniać strukturę samej bazy danych. Na przykład można użyć procedury składowanej, aby dodać kolumnę tabeli lub nawet usunąć tabelę.

Procedura składowana może również wywoływać inną procedurę składowaną, a także przyjmować parametry wejściowe i zwracać wiele wartości do procedury wywołującej w formie parametrów wyjściowych.

Procedura składowana jest wielokrotnego użytku w tym sensie, że można ponownie używać jednej skompilowanej wersji procedury do wykonywania operacji bazy danych wiele razy. Jeśli wiadomo, że zadanie bazy danych będzie wykonywane więcej niż kilka razy — lub to samo zadanie będzie wykonywane przez różne aplikacje — użycie procedury składowanej do wykonania tego zadania może sprawić, że operacje bazy danych będą bardziej wydajne.

Spostrzeżenie

Bazy danych MySQL i Microsoft Access nie obsługują procedur składowanych.

Dodaj procedurę składowaną (ColdFusion) (CS6)

Można użyć procedury składowanej do modyfikacji bazy danych. Procedura składowana to element bazy danych wielokrotnego użycia, który wykonuje pewne operacje na bazie danych.

Przed użyciem procedury składowanej do modyfikacji bazy danych upewnij się, że procedura składowana zawiera instrukcje SQL modyfikujące bazę danych w określony sposób. Aby utworzyć i zapisać ją w bazie danych, sprawdź dokumentację bazy danych oraz dobry podręcznik języka Transact-SQL.

W programie Dreamweaver otwórz stronę, która uruchomi procedurę składowaną.
W panelu Bindings (Okno > Bindings) kliknij przycisk Plus (+), a następnie wybierz Stored Procedure.
W menu podręcznym Data Source wybierz połączenie z bazą danych zawierającą procedurę składowaną.
Wprowadź nazwę użytkownika źródła danych ColdFusion i jego hasło.
Wybierz procedurę składowaną z menu podręcznego Procedures.

Program Dreamweaver automatycznie wypełnia wszystkie parametry.

Wybierz parametr i kliknij Edit, jeśli musisz wprowadzić zmiany.

Pojawi się okno dialogowe Edytuj zmienną procedury składowanej. Nazwa zmiennej, która podlega edycji, pojawia się w polu tekstowym Nazwa.

Spostrzeżenie

Musisz wprowadzić wartości testowe w przypadku wszystkich parametrów wejściowych procedury składowanej.

Wprowadź potrzebne zmiany:
  • Wybierz kierunek z wyskakującego menu. Procedura składowana może mieć wartości wejściowe, wyjściowe lub obydwa typy wartości — wejściowe i wyjściowe.

  • Wybierz typ SQL z wyskakującego menu. Wprowadź zmienną zwrotną, wartość czasu wykonywania oraz wartość testową.

Jeśli procedura składowana przyjmuje parametr, kliknij przycisk Plus (+), aby dodać parametr strony.
Spostrzeżenie

Musisz wprowadzić odpowiednie parametry strony w przypadku każdej wartości zwrotnej parametru procedury składowanej.Nie dodawaj parametrów strony, chyba że istnieje odpowiadająca im wartość zwrotna.

Kliknij ponownie przycisk Plus (+), aby w razie potrzeby dodać kolejny parametr strony.

Wybierz parametr strony i kliknij przycisk Minus (-), aby usunąć parametr w razie potrzeby, lub kliknij Edit, aby wprowadzić zmiany w parametrze.
Wybierz opcję Returns Recordset Named, a następnie wprowadź nazwę zestawu rekordów; jeśli procedura składowana zwraca zestaw rekordów, kliknij przycisk Test, aby wyświetlić zestaw rekordów zwracany przez procedurę składowaną.

Program Dreamweaver uruchamia procedurę składowaną i wyświetla zestaw rekordów, jeśli istnieje.

Spostrzeżenie

Jeśli procedura składowana zwraca zestaw rekordów i przyjmuje parametry, musisz wprowadzić wartość w kolumnie Default Value w polu Variables, aby przetestować procedurę składowaną.

Spostrzeżenie

Można użyć różnych wartości testowych do generowania różnych zestawów rekordów. Aby zmienić wartości testowe, kliknij przycisk Edit dla parametru Parameter i zmień wartość testową lub kliknij przycisk Edit dla parametru Page Parameter i zmień wartość domyślną.

Wybierz opcję Returns Status Code Named, wprowadź nazwę kodu stanu, jeśli procedura składowana zwraca kod stanu.Kliknij przycisk OK.

Po zamknięciu pola program Dreamweaver wstawia kod ColdFusion na stronie, który wywołuje procedurę składowaną w bazie danych po uruchomieniu kodu na serwerze.Procedura składowana z kolei wykonuje operację bazy danych, taką jak wstawianie rekordu.

Jeśli procedura składowana przyjmuje parametry, można utworzyć stronę, która zbiera wartości parametrów i przesyła je do strony z procedurą składowaną.Na przykład można utworzyć stronę używającą parametrów URL lub formularza HTML do zbierania wartości parametrów od użytkowników.

Uruchom procedurę składowaną (ASP) (CS6)

W przypadku stron ASP należy dodać obiekt polecenia do strony w celu uruchomienia procedury składowanej.Więcej informacji o obiektach poleceń można znaleźć w Informacje o obiektach poleceń ASP.

W programie Dreamweaver otwórz stronę, która będzie uruchamiać procedurę składowaną.
W panelu Bindings (Window > Bindings) kliknij przycisk Plus (+), a następnie wybierz Command (Stored Procedure).

Zostanie wyświetlone okno dialogowe Polecenie.

Wprowadź nazwę polecenia, wybierz połączenie z bazą danych zawierającą procedurę składowaną, a następnie wybierz Stored Procedure z menu podręcznego Type.
Wybierz procedurę składowaną, rozwijając gałąź Stored Procedures w polu Database Items, wybierając procedurę składowaną z listy i klikając przycisk Procedure.
Wprowadź wszystkie wymagane parametry w tabeli Zmienne.

Nie musisz wprowadzać żadnych parametrów do zmiennych typu RETURN_VALUE.

Kliknij przycisk OK.

Po zamknięciu okna dialogowego kod ASP zostanie wstawiony na stronie.Gdy kod jest uruchamiany na serwerze, tworzy obiekt polecenia, który uruchamia procedurę składowaną w bazie danych.Procedura składowana z kolei wykonuje operację bazy danych, taką jak wstawianie rekordu.

Domyślnie kod ustawia właściwość Prepared obiektu Command na true, co sprawia, że serwer aplikacji ponownie używa pojedynczej skompilowanej wersji obiektu przy każdym uruchomieniu procedury składowanej.Jeśli wiadomo, że polecenie zostanie wykonane więcej niż kilka razy, posiadanie pojedynczej skompilowanej wersji obiektu może poprawić wydajność operacji bazy danych.Jednak jeśli polecenie zostanie wykonane tylko raz lub dwa razy, użycie takiej wersji może w rzeczywistości spowolnić aplikację internetową, ponieważ system musi się zatrzymać, aby skompilować polecenie.Aby zmienić to ustawienie, przełącz się do widoku Code i zmień właściwość Prepared na false.

Spostrzeżenie

Nie wszyscy dostawcy baz danych obsługują przygotowane polecenia.Jeśli baza danych nie obsługuje tej funkcji, po uruchomieniu strony może pojawić się komunikat o błędzie.Przełącz się do widoku Code i zmień właściwość Prepared na false.

Jeśli procedura składowana przyjmuje parametry, można utworzyć stronę, która zbiera wartości parametrów i przesyła je do strony z procedurą składowaną.Na przykład można utworzyć stronę używającą parametrów URL lub formularza HTML do zbierania wartości parametrów od użytkowników.