在 Dreamweaver 中使用 ASP 命令修改資料庫

上次更新時間 2024年4月25日

了解如何在 Dreamweaver 中使用 ASP 命令修改資料庫以及新增和執行預存程序。

備註

Dreamweaver 和更高版本的用戶介面已經簡化。 因此,您在 Dreamweaver 和更高版本中可能會找不到本文所描述的一些選項。 如需詳細資訊,請參閱本文

關於 ASP 命令物件

ASP 命令物件是在資料庫上執行某些操作的伺服器物件。此物件可以包含任何有效的 SQL 陳述式,包括傳回記錄集的陳述式,或在資料庫中插入、更新或刪除記錄的陳述式。如果 SQL 陳述式在表格中新增或刪除資料欄,命令物件可以改變資料庫的結構。您也可以使用命令物件在資料庫中執行預存程序。

命令物件可以重複使用,也就是說應用程式伺服器可以重複使用物件的同一個編譯版本來多次執行命令。您可以透過將命令物件的 Prepared 屬性設定為 true 來讓命令重複使用,如以下 VBScript 陳述式所示:

mycommand.Prepared = true

如果您知道命令將會執行多次,擁有物件的單個編譯版本可以讓資料庫操作更有效率。

備註

但並非所有資料庫供應商都能支援就緒命令。 如果您的資料庫不支援此功能,當您將此屬性設定為 true 時,它可能會傳回錯誤。它甚至可能會忽略準備命令的要求,並將 Prepared 屬性設定為 false

命令物件是由 ASP 頁面上的指令碼建立的,但 Dreamweaver 讓您無需撰寫一行 ASP 程式碼即可建立命令物件。

使用 ASP 命令修改資料庫

您可以使用 Dreamweaver 建立在資料庫中插入、更新或刪除記錄的 ASP 命令物件。您為命令物件提供 SQL 陳述式或預存程序,以對資料庫執行操作。

在 Dreamweaver 中,開啟將執行命令的 ASP 頁面。
開啟「伺服器行為」面板 (視窗 > 伺服器行為),按一下加號 (+) 按鈕,然後選取「命令」。
輸入命令的名稱,選取包含您要編輯資料錄的資料庫連線,然後選取您希望命令執行的編輯操作:插入、更新或刪除。

Dreamweaver 會根據您選取的操作類型開始建立 SQL 陳述式。例如,如果您選取「插入」,對話框會如以下範例所示:

輸入 ASP 命令
輸入 ASP 命令

完成 SQL 陳述式。

如需有關撰寫修改資料庫的 SQL 陳述式的資訊,請參閱 Transact‑SQL 手冊。

請使用「變數」區域定義 SQL 變數。 提供名稱和執行時間值。指定每個變數的類型和大小可防止注入攻擊。

以下範例顯示包含三個 SQL 變數的 Insert 陳述式。這些變數的值由傳遞到頁面的 URL 參數提供,如「變數」區域的「執行時間值」欄所定義。

包含三個 SQL 變數的 Insert 陳述式
包含三個 SQL 變數的 Insert 陳述式

若要取得大小值,請使用 Dreamweaver 中的「資料庫」面板。在「資料庫」面板中找到您的資料庫並展開它。接下來,尋找您要使用的表格並展開它。表格會列出欄位的大小。 例如,它 可能顯示 ADDRESS (WChar 50)。在此範例中,大小為 50。 您也可以在資料庫應用程式中找到大小。

備註

數值、 布林值以及日期/時間資料類型一律使用 -1 作為大小。

若要 決定類型值,請參閱下表:

資料庫中的類型

Dreamweaver 中的類型

大小

數值 (MS Access、MS SQL Server、MySQL)

雙倍

-1

布林值、是/否 (MS Access、MS SQL Server、 MySQL)

雙倍

-1

日期/時間 (MS Access、MS SQL Server、MySQL)

DBTimeStamp

-1

所有其他類型的文字欄位,包括 MySQL 文字資料類型 char、varchar 和 longtext

LongVarChar

檢查資料庫表格

文字 (MS Access) 或 nvarchar、nchar (MS SQL Server)

VarWChar

檢查資料庫表格

備忘錄 (MS Access)、ntext (MS SQL Server)、 或支援大量文字的欄位

LongVarWChar

1073741823

如需關於 SQL 變數的類型和 大小的詳細資訊,請參閱 www.adobe.com/go/4e6b330a

請關閉此對話框。

Dreamweaver 會在 您的頁面中插入 ASP 代碼,當在伺服器上執行時,會建立一個指令來在資料庫中插入、 更新或刪除記錄。

依預設,代碼會將 Command 物件的 Prepared 屬性設定為 true,這使得應用程式伺服器每次執行命令時都重複使用物件的單一編譯版本。若要變更此設定,請切換到程式碼視圖,並將 Prepared 屬性變更為 false

建立含有 HTML 表單的頁面,讓使用者能夠輸入記錄 資料。在 HTML 表單中,包括三個文字欄位 (txtCity、txtAddress 和 txtPhone) 以及一個送出按鈕。表單使用 GET 方法並將文字欄位值提交到包含您指令的頁面。

關於預存程序

雖然您可以使用伺服器行為來建置修改資料庫的頁面,您也可以使用資料庫操作物件 (例如預存程序或 ASP 命令物件) 來建置頁面。

預存程序是一個可重複使用的資料庫項目,會 對資料庫執行某些操作。預存程序包含 SQL 代碼,可以插入、更新或刪除記錄以及執行其他功能。預存程序也可以變更資料庫 本身的結構。例如,您可以使用預存程序來新增資料表欄位,甚至刪除資料表。

預存程序也可以呼叫另一個預存程序,以及 接受輸入參數和以輸出參數的形式向 呼叫程序傳回多個值。

預存程序具有可重複使用性,您可以重複使用程序的單一編譯版本來多次執行資料庫操作。如果您知道資料庫工作將會 執行多次,或相同的工作將會由 不同的應用程式執行,使用預存程序執行該 工作可以讓資料庫操作更有效率。

備註

MySQL 和 Microsoft Access 資料庫不支援預存程序。

新增預存程序 (ColdFusion) (CS6)

您可以使用預存程序來修改資料庫。預存程序是對資料庫執行某些操作的可重複使用資料庫項目。

在使用預存程序修改資料庫之前,請確認預存程序包含以某種方式修改資料庫的 SQL。若要在資料庫中建立並儲存預存程序,請參閱您的資料庫說明文件以及優質的 Transact-SQL 手冊。

在 Dreamweaver 中,開啟將執行預存程序的頁面。
在「連結」面板 (視窗 > 連結) 中,按一下加號 (+) 按鈕,然後選取「預存程序」。
在「資料來源」彈出式選單中,選取與包含預存程序的資料庫的連線。
輸入 ColdFusion 資料來源的使用者名稱和密碼。
從「程序」彈出式選單中選取預存程序。

Dreamweaver 會自動填入任何參數。

選取參數,如果您需要進行變更,請按一下「編輯」。

「編輯預存程序變數」對話方塊便會出現。 您正在編輯的變數名稱會出現在「名稱」方塊中。

備註

您必須為任何預存程序輸入參數輸入測試值。

視需要進行變更:
  • 從彈出式選單中選取「方向」。 預存程序可能具有輸入值、輸出值,或同時具有輸入值和輸出值。

  • 從彈出式選單中選取 SQL 類型。 輸入返回變數、執行階段值和測試值。

如果預存程序接受參數,請按一下加號 (+) 按鈕來新增頁面參數。
備註

您必須為每個預存程序參數返回值輸入對應的頁面參數。除非有對應的返回值,否則不要新增頁面參數。

如有必要,再次按一下加號 (+) 按鈕來新增另一個頁面參數。

選取頁面參數,如有必要請按一下減號按鈕來刪除參數,或按一下「編輯」來變更參數。
選取「返回名為資料錄集」選項,然後輸入資料錄集的名稱;如果預存程序返回資料錄集,請按一下「測試」按鈕以查看預存程序返回的資料錄集。

Dreamweaver 會執行預存程序並顯示資料錄集 (如果有的話)。

備註

如果預存程序返回資料錄集並接受參數,您必須在「變數」方塊的「預設值」欄中輸入值來測試預存程序。

備註

您可以使用不同的測試值來生成不同的資料錄集。若要變更測試值,請按一下「參數」的「編輯」按鈕並變更測試值,或按一下「頁面參數」的「編輯」按鈕並變更預設值。

選取「回傳狀態代碼命名」選項,如果預存程序回傳狀態代碼回傳值,請輸入狀態代碼的名稱。按一下「確定」。

關閉對話框後,Dreamweaver 會在您的頁面中插入 ColdFusion 程式碼,當程式碼在伺服器上執行時,會呼叫資料庫中的預存程序。預存程序接著會執行資料庫操作,例如插入記錄。

如果預存程序需要參數,您可以建立一個頁面來收集參數值,並將這些值提交給包含預存程序的頁面。例如,您可以建立一個使用 URL 參數或 HTML 表單從使用者收集參數值的頁面。

執行預存程序 (ASP) (CS6)

使用 ASP 頁面時,您必須在頁面中新增指令物件來執行預存程序。如需指令物件的詳細資訊,請參閱關於 ASP 指令物件

在 Dreamweaver 中,開啟將執行預存程序的頁面。
在「繫結」面板 (「視窗」>「繫結」) 中,按一下加號 (+) 按鈕,然後選取「指令 (預存程序)」。

「命令」對話方塊便會出現。

輸入指令名稱,選取包含預存程序的資料庫連線,然後從「類型」彈出式選單中選取「預存程序」。
在「資料庫項目」方塊中展開「預存程序」分支,從清單中選取預存程序,然後按一下「程序」按鈕,以選取您的預存程序。
在「變數」表格中輸入必要的參數。

您不需要為任何 RETURN_VALUE 變數輸入任何參數。

按一下「確定」。

關閉對話框後,ASP 程式碼會插入到您的頁面中。當程式碼在伺服器上執行時,程式碼會建立一個指令物件,在資料庫中執行預存程序。預存程序接著會執行資料庫操作,例如插入記錄。

根據預設,程式碼會將 Command 物件的 Prepared 屬性設定為 true,這會讓應用程式伺服器在每次執行預存程序時重複使用物件的單一編譯版本。如果您知道指令將執行多次,擁有物件的單一編譯版本可以提升資料庫操作的效率。不過,如果指令只執行一或兩次,使用編譯版本實際上可能會降低網頁應用程式的速度,因為系統必須暫停來編譯指令。若要變更設定,請切換至「代碼」視圖,並將 Prepared 屬性變更為 false

備註

並非所有資料庫提供者都支援預先準備的指令。如果您的資料庫不支援此功能,當您執行頁面時可能會收到錯誤訊息。切換至程式碼視圖,並將 Prepared 屬性變更為 false

如果預存程序需要參數,您可能需要建立一個頁面來收集參數值,並將這些值提交給包含預存程序的頁面。例如,您可以建立一個使用 URL 參數或 HTML 表單從使用者收集參數值的頁面。