שימוש בפקודות ASP כדי לשנות מסד נתונים ב-Dreamweaver

עודכן לאחרונה בתאריך 25 באפריל 2024

למד כיצד להשתמש בפקודות ASP ב-Dreamweaver כדי לשנות מסד נתונים ולהוסיף ולהפעיל הליך שמור.

פתק

ממשק המשתמש הפך לפשוט יותר ב-Dreamweaver ובגרסאות מתקדמות יותר. כתוצאה מכך, ייתכן שלא תמצא חלק מהאפשרויות המתוארות במאמר זה ב-Dreamweaver ובגרסאות מתקדמות יותר. לקבלת מידע נוסף, עיין במאמר זה.

אודות אובייקטי פקודה ASP

אובייקט פקודת ASP הוא אובייקט שרת שמבצע פעולה כלשהי על מסד נתונים. האובייקט יכול להכיל כל הצהרת SQL תקפה, כולל כזו שמחזירה רשימת רשומות, או כזו שמכניסה, מעדכנת או מוחקת רשומות במסד נתונים.אובייקט פקודה יכול לשנות את המבנה של מסד נתונים אם הצהרת ה-SQL מוסיפה או מוחקת עמודה בטבלה. אתם יכולים גם להשתמש באובייקט פקודה כדי להריץ הליך שמור במסד נתונים.

אובייקט פקודה יכול להיות שימושי מחדש, במובן שהיישום שרת יכול להשתמש מחדש בגרסה מקומפלת יחידה של האובייקט כדי לבצע את הפקודה מספר פעמים. אתם הופכים פקודה לשימושית מחדש על ידי הגדרת המאפיין Prepared של אובייקט Command ל-true, כפי שמוצג בהצהרת VBScript הבאה:

mycommand.Prepared = true

אם אתם יודעים שהפקודה תבוצע יותר מכמה פעמים, קיום גרסה מקומפלת יחידה של האובייקט יכול להפוך פעולות מסד נתונים ליעילות יותר.

פתק

לא כל הספקים של מסדי נתונים תומכים בפקודות מוכנות. אם מסד הנתונים שלכם לא תומך בזה, הוא עלול להחזיר שגיאה כשאתם מגדירים את המאפיין הזה ל-true. הוא אפילו עלול להתעלם מהבקשה להכין את הפקודה ולהגדיר את המאפיין Prepared ל-false.

אובייקט פקודה נוצר על ידי תסריטים בעמוד ASP, אבל Dreamweaver מאפשר לכם ליצור אובייקטי פקודה מבלי לכתוב שורת קוד ASP אחת.

שימוש בפקודות ASP לשינוי מסד נתונים

אתם יכולים להשתמש ב-Dreamweaver כדי ליצור אובייקטי פקודת ASP שמכניסים, מעדכנים או מוחקים רשומות במסד נתונים. אתם מספקים לאובייקט הפקודה את הצהרת ה-SQL או ה-stored procedure שמבצעים את הפעולה על מסד הנתונים.

ב-Dreamweaver, פתחו את עמוד ה-ASP שיריץ את הפקודה.
פתחו את הלוח Server Behaviors (Window > Server Behaviors), לחצו על הלחצן Plus (+) ובחרו Command.
הזינו שם עבור הפקודה, בחרו חיבור אל מסד הנתונים שמכיל את הרשומות שאתם רוצים לערוך, ובחרו את פעולת העריכה שאתם רוצים שהפקודה תבצע—Insert, Update או Delete.

Dreamweaver מתחיל את הצהרת ה-SQL, בהתבסס על סוג הפעולה שבחרתם. לדוגמה, אם אתם בוחרים Insert, תיבת הדו-שיח נראית כמו הדוגמה הבאה:

הזן את פקודת ASP
הזן את פקודת ASP

השלם את הצהרת SQL.

למידע על כתיבת הצהרות SQL שמשנות מסדי נתונים, עיינו במדריך Transact‑SQL.

השתמש באזור Variables להגדרת משתני SQL. ספקו את השם ואת הערך בזמן ריצה. ציון הסוג והגודל של כל משתנה מונע התקפות הזרקת קוד.

הדוגמה הבאה מציגה הצהרת Insert שמכילה שלושה משתני SQL. הערכים של המשתנים האלה מסופקים על ידי פרמטרי URL שמועברים לעמוד, כפי שמוגדר בעמודת Run‑Time Value של אזור Variables.

הצהרת Insert הכוללת שלושה משתני SQL
הצהרת Insert הכוללת שלושה משתני SQL

כדי לקבל את ערך Size, השתמשו בלוח Databases ב-Dreamweaver. מצאו את מסד הנתונים שלכם בלוח Databases והרחיבו אותו. בשלב הבא, מצאו את הטבלה שאתם עובדים איתה והרחיבו אותה. הטבלה מציינת את גודל השדות. לדוגמה, הוא עשוי לומר ADDRESS (WChar 50). בדוגמה זו, המספר 50 מציין את הגודל. תוכלו גם למצוא את הגודל ביישום מסד הנתונים שלכם.

פתק

סוגי נתונים מספריים, בוליאניים ותאריך/שעה תמיד משתמשים ב-‎-1 כגודל.

כדי לקבוע את ערך הסוג, ראו את הטבלה הבאה:

סוג במסד נתונים

סוג ב- Dreamweaver

Size

Numeric ‏(MS Access, MS SQL Server, MySQL)

Double

-1

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

Double

-1

Date/Time ‏(MS Access, MS SQL Server, MySQL)

DBTimeStamp

-1

כל שאר סוגי שדות הטקסט, כולל סוגי נתוני הטקסט של MySQL שהם char, varchar ו-longtext

LongVarChar

בדוק בטבלת מסד הנתונים

Text ‏(MS Access) או nvarchar, nchar ‏(MS SQL Server)

VarWChar

בדוק בטבלת מסד הנתונים

Memo ‏(MS Access),‏ ntext ‏(MS SQL Server) או שדות שתומכים בכמויות גדולות של טקסט

LongVarWChar

1073741823

לקבלת מידע נוסף על הסוג והגודל של משתני SQL, ראו www.adobe.com/go/4e6b330a.

סגור את תיבת הדו-שיח.

Dreamweaver מכניס קוד ASP בדף שלכם שכשהוא פועל על השרת, יוצר פקודה שמכניסה, מעדכנת או מוחקת רשומות במסד הנתונים.

כברירת מחדל, הקוד מגדיר את המאפיין Prepared של אובייקט ה-Command ל-true, מה שגורם לשרת היישום לעשות שימוש חוזר בגרסה מקומפלת יחידה של האובייקט בכל פעם שהפקודה מופעלת. כדי לשנות הגדרה זו, עברו לתצוגת קוד ושנו את המאפיין Prepared ל-false.

צרו דף עם טופס HTML כדי שמשתמשים יוכלו להזין נתוני רשומות. בטופס ה-HTML, כללו שלושה שדות טקסט (txtCity, txtAddress ו-txtPhone) ולחצן שלח. הטופס משתמש בשיטת GET ושולח את ערכי שדות הטקסט לדף שמכיל את הפקודה שלכם.

אודות הליכים שמורים

אף על פי שתוכלו להשתמש בהתנהגויות שרת כדי לבנות דפים שמשנים מסדי נתונים, תוכלו גם להשתמש באובייקטי מניפולציה של מסדי נתונים כגון stored procedures או אובייקטי פקודות ASP כדי לבנות את הדפים.

stored procedure הוא פריט מסד נתונים לשימוש חוזר שמבצע פעולה כלשהי על מסד הנתונים. stored procedure מכיל קוד SQL שיכול, בין היתר, להכניס, לעדכן או למחוק רשומות. stored procedures יכולים גם לשנות את המבנה של מסד הנתונים עצמו. לדוגמה, תוכלו להשתמש ב-stored procedure כדי להוסיף עמודת טבלה או אפילו למחוק טבלה.

פרוצדורה מאוחסנת יכולה גם לקרוא לפרוצדורה מאוחסנת אחרת, כמו גם לקבל פרמטרי קלט ולהחזיר ערכים מרובים לפרוצדורה הקוראת בצורת פרמטרי פלט.

stored procedure הוא לשימוש חוזר במובן שתוכלו לעשות שימוש חוזר בגרסה מקומפלת יחידה של הפרוצדורה כדי לבצע פעולת מסד נתונים מספר פעמים. אם אתם יודעים שמשימת מסד נתונים תבוצע יותר מכמה פעמים – או שאותה משימה תבוצע על ידי יישומים שונים – שימוש בהליך מאוחסן (stored procedure) לביצוע המשימה הזאת יכול להפוך פעולות מסד נתונים ליעילות יותר.

פתק

מסדי נתונים של MySQL ו-Microsoft Access אינם תומכים בהליכים מאוחסנים.

הוספת הליך מאוחסן (ColdFusion) (CS6)

אפשר להשתמש בהליך מאוחסן כדי לשנות מסד נתונים.הליך מאוחסן הוא פריט מסד נתונים לשימוש חוזר שמבצע פעולה כלשהי במסד הנתונים.

לפני השימוש בהליך מאוחסן כדי לשנות מסד נתונים, ודאו שההליך המאוחסן מכיל SQL שמשנה את מסד הנתונים באופן כלשהו.כדי ליצור ולאחסן הליך במסד הנתונים, עיינו בתיעוד של מסד הנתונים ובמדריך טוב ל-Transact-SQL.

ב-Dreamweaver, פתחו את הדף שיריץ את ההליך המאוחסן.
בלוח Bindings (Window > Bindings), לחצו על לחצן Plus (+), ולאחר מכן בחרו Stored Procedure.
בתפריט הקופץ Data Source, בחרו חיבור למסד הנתונים המכיל את ההליך המאוחסן.
הזן את שם המשתמש והסיסמה של ColdFusion Data Source.
בחרו הליך מאוחסן מהתפריט הקופץ Procedures.

Dreamweaver ממלא אוטומטית את כל הפרמטרים.

בחרו פרמטר ולחצו על Edit אם צריך לבצע שינויים.

תיבת הדו-שיח Edit Stored Procedure Variable מוצגת. שם המשתנה שאתה עורך מוצג בתיבה Name.

פתק

עליכם להזין ערכי בדיקה לכל פרמטרי קלט של הליך מאוחסן.

בצע שינויים בהתאם לצורך:
  • בתפריט הנפתח, בחר באפשרות Direction. להליך מאוחסן עשויים להיות ערכי קלט, ערכי פלט, או גם ערכי קלט וגם ערכי פלט.

  • בתפריט הנפתח, בחר סוג SQL. הזינו משתנה החזרה, ערך זמן ריצה וערך בדיקה.

אם ההליך המאוחסן מקבל פרמטר, לחצו על הלחצן Plus (+) כדי להוסיף פרמטר דף.
פתק

עליכם להזין פרמטרי דף מתאימים לכל ערך החזרה של פרמטר של הליך מאוחסן.אל תוסיפו פרמטרי דף אלא אם קיים ערך החזרה מתאים.

לחצו שוב על הלחצן Plus (+) כדי להוסיף עוד פרמטר דף, במידת הצורך.

בחרו פרמטר דף ולחצו על הלחצן מינוס (-) כדי למחוק את הפרמטר במידת הצורך, או לחצו על עריכה כדי לבצע שינויים בפרמטר.
בחרו באפשרות Returns Recordset Named ולאחר מכן הזינו שם עבור ה-recordset; אם ההליך המאוחסן מחזיר recordset, לחצו על הלחצן Test כדי לראות את ה-recordset שההליך המאוחסן מחזיר.

Dreamweaver מריץ את ההליך המאוחסן ומציג את קבוצת הרשומות, אם קיימת.

פתק

אם ההליך המאוחסן מחזיר recordset ומקבל פרמטרים, עליכם להזין ערך בעמודת Default Value בתיבת Variables כדי לבדוק את ההליך המאוחסן.

פתק

ניתן להשתמש בערכי בדיקה שונים כדי ליצור מערכי רשומות שונים.כדי לשנות ערכי בדיקה, לחצו על הלחצן Edit עבור Parameter ושנו את ערך הבדיקה, או לחצו על הלחצן Edit עבור Page Parameter ושנו את ערך ברירת המחדל.

בחרו את האפשרות Returns Status Code Named, הזינו שם עבור קוד הסטטוס, אם ההליך המאוחסן מחזיר ערך החזרה של קוד סטטוס.לחץ על OK.

לאחר סגירת התיבה, Dreamweaver מכניס קוד ColdFusion לדף שלכם שקורא לפרוצדורה מאוחסנת במסד הנתונים, כאשר הקוד פועל בשרת.הפרוצדורה המאוחסנת בתורה מבצעת פעולת מסד נתונים, כמו הכנסת רשומה.

אם הפרוצדורה המאוחסנת מקבלת פרמטרים, תוכלו ליצור דף שאוסף את ערכי הפרמטרים ושולח אותם לדף עם הפרוצדורה המאוחסנת.לדוגמה, תוכלו ליצור דף שמשתמש בפרמטרי URL או בטופס HTML כדי לאסוף ערכי פרמטרים ממשתמשים.

הפעלת פרוצדורה מאוחסנת (ASP) (CS6)

עם דפי ASP, עליכם להוסיף אובייקט פקודה לדף כדי להפעיל פרוצדורה מאוחסנת.למידע נוסף על אובייקטי פקודה, ראו אודות אובייקטי פקודה ASP.

ב-Dreamweaver, פתחו את הדף שיפעיל את הפרוצדורה המאוחסנת.
בלוח Bindings (Window > Bindings), לחצו על הלחצן Plus (+), ואז בחרו Command (Stored Procedure).

תיבת הדו-שיח Command מוצגת.

הזינו שם עבור הפקודה, בחרו חיבור למסד הנתונים המכיל את הפרוצדורה המאוחסנת, ולאחר מכן בחרו Stored Procedure מהתפריט הקופץ Type.
בחרו את הפרוצדורה המאוחסנת שלכם על ידי הרחבת הענף "Stored Procedures" בתיבה "Database Items", בחירת הפרוצדורה המאוחסנת מהרשימה ולחיצה על הלחצן "Procedure".
הזן את כל הפרמטרים הדרושים בטבלה Variables.

אין צורך להזין פרמטרים כלשהם למשתני RETURN_VALUE.

לחץ על OK.

לאחר סגירת התיבה, קוד ASP מוכנס לדף שלכם.כאשר הקוד פועל בשרת, הקוד יוצר אובייקט פקודה שמפעיל פרוצדורה מאוחסנת במסד הנתונים.הפרוצדורה המאוחסנת בתורה מבצעת פעולת מסד נתונים, כמו הכנסת רשומה.

כברירת מחדל, הקוד מגדיר את המאפיין Prepared של אובייקט ה-Command ל-true, מה שגורם לשרת היישום להשתמש שוב בגרסה מקומפלת אחת של האובייקט בכל פעם שהפרוצדורה המאוחסנת מופעלת.אם אתם יודעים שהפקודה תתבצע יותר מכמה פעמים, קיום גרסה מקומפלת אחת של האובייקט יכול לשפר את היעילות של פעולות מסד הנתונים.עם זאת, אם הפקודה תתבצע רק פעם או פעמיים, השימוש באחת עלול להאט את יישום האתרים שלכם מכיוון שהמערכת צריכה לעצור כדי לקמפל את הפקודה.כדי לשנות את ההגדרה, עברו לתצוגת קוד ושנו את המאפיין Prepared ל-false.

פתק

לא כל ספקי מסד הנתונים תומכים בפקודות מוכנות.אם מסד הנתונים שלכם אינו תומך בכך, ייתכן שתקבלו הודעת שגיאה כאשר תפעילו את הדף.עברו לתצוגת קוד ושנו את המאפיין Prepared ל-false.

אם הפרוצדורה המאוחסנת מקבלת פרמטרים, תוכלו ליצור דף שאוסף את ערכי הפרמטרים ושולח אותם לדף עם הפרוצדורה המאוחסנת.לדוגמה, תוכלו ליצור דף שמשתמש בפרמטרי URL או בטופס HTML כדי לאסוף ערכי פרמטרים ממשתמשים.