هل نفكر غالبًا في بعض المشكلات عندما نتعلم ASP استدعاء الإجراءات المخزنة؟ على سبيل المثال ، كيفية تشغيل طريقة استدعاء الإجراءات المخزنة؟ ما هي المعلمات التي تمر إلى الإجراءات المخزنة ، وما إلى ذلك اليوم ، ستأخذك القناة التكنولوجية الجديدة للخشب إلى المقالة التالية لتعلم هذه المعرفة. آمل أن يكون مفيدًا لتعلمك!
1. الأساليب العامة لاستدعاء الإجراءات المخزنة
أولاً ، لنفترض أن هناك إجراء مخزن DT_USERS في خادم SQL:
إنشاء إجراء [DBO]. [DT_USERS]
مثل
حدد * من المستخدمين
يعود
يذهب
الطريقة الأولى هي استخدام كائن مجموعة السجلات دون استخدام كائن الأوامر ،
SET RS = Server.createObject ("ADODB.RecordSet")
sql = "exec dt_users"
Rs.Open SQL ، Conn ، 1،1
الطريقة الثانية هي استخدام كائن الأوامر
set comm = server.createBject ("adodb.command")
comm.Commantype = 4
تعيين comm.ActivEconnection = conn
comm.CommandText = "dbo.dt_users"
SET RS = Server.createObject ("ADODB.RecordSet")
Rs.Open Comm ،، 1،1
2. تمرير المعلمات إلى الإجراءات المخزنة
إذا لم تكن هناك معلمات في الإجراء المخزن ، ولكن بيان SQL واحد ، لا يمكن عرض مزايا استدعاء الإجراءات المخزنة!
على سبيل المثال ، يمكن الاستعلام عن استعلام BBS من قبل المؤلف والموضوع! ثم يمكن إنشاء الإجراء المخزن على النحو التالي:
الكلمة الأساسية للمعلمة هي الكلمة الرئيسية ، واختيار هي الطريقة لتحديد الاستعلام.
إنشاء إجراء [DBO]. [DT_BBS]
Keyword varchar (20) = NULL ،
choose int = null
مثل
إذا اختر = 1
حدد * من BBS حيث اسم مثل keyword
آخر
حدد * من BBS حيث موضوع مثل keyword
يعود
يذهب
وبهذه الطريقة ، عندما نسمي الإجراءات المخزنة ، نحتاج فقط إلى تمرير المعلمات ، وحذف كتابة برنامج في ASP
استخدم الطريقة الأولى:
SET RS = Server.createObject ("ADODB.RecordSet")
sql = "exec dt_bbs '" والكلمة الرئيسية و "" ، واختيار & ""
Rs.Open SQL ، Conn ، 1،1
استخدم الطريقة الثانية:
set comm = server.createBject ("adodb.command")
comm.Commantype = 4
comm.parameters.append comm.CreateParameter ("@keyword" ، adchar ، adparaminput ، 50 ، كلمة رئيسية)
comm.parameters.append comm.CreateParameter ("@keyword" ، adinteger ، adparaminput ،، اختر))
تعيين comm.ActivEconnection = conn
comm.CommandText = "dbo.dt_bbs"
SET RS = Server.createObject ("ADODB.RecordSet")
Rs.CursorType = 3
Rs.Open Comm ،، 1،1
3. مزيد من المناقشة
مقارنة الطريقتين اللتين ذكرتهما أعلاه لاستدعاء الإجراءات المخزنة في ASP ،
تتطلب الطريقة الأولى عددًا أقل من الكائنات ، لكن كائن مجموعة السجلات يدعم خصائص أقل بكثير ، مثل: Rs.RecordCount ، Rs.PageCount ، Rs.AbsolutePage وغيرها من الخصائص.
لا يدعمه أي منهم ، لذلك هناك قيود على استخدام الطريقة الأولى. على سبيل المثال ، عندما تريد عرض السجلات على الصفحات ، يجب عليك استخدام الطريقة الثانية.
الغرض من استخدام الإجراءات المخزنة في SQL Server هو التسريع ، ولكن عندما يكون هناك العديد من عبارات SQL في إجراء مخزن ، تكون مزاياها واضحة بشكل خاص. إذا لم يكن هناك العديد من عبارات SQL ،
عندما نستخدم الطريقة الثانية ، يجب علينا إنشاء كائن أمر إضافي ، والذي قد يتباطأ! لذلك يجب أن نوازن بين مصالح جميع الجوانب لاستخدام الإجراءات المخزنة.
ومع ذلك ، أعتقد أن السرعة جيدة جدًا. يمكن أن يؤدي استخدام الإجراءات المخزنة إلى جعل البرنامج أكثر وحدات ، وسهلة التعديل والتصحيح (يمكنك التصحيح مباشرة في SQL Server دون النظر إلى نتائج ASP تحت IE).
ما سبق هو مقدمة للإجراءات المخزنة لمكالمات ASP. آمل أن يكون من المفيد لك أن تتعلم هذه المعرفة. آمل أيضًا أن يستمر الجميع في دعم قناة التكنولوجيا الجديدة الخاطئة!