أنت غير متصل حاليًا، وفي انتظار الإنترنت الخاص بك ليقوم بإعادة الاتصال

كيفية استدعاء SQL Server الإجراءات المخزنة في ASP.NET باستخدام Visual Basic.NET

هام: تمت ترجمة هذه المقالة باستخدام برامج مايكروسوفت للترجمة الآلية ومن المحتمل ان يتم تحريرها او تدقيقها بعد ذلك من خلال تكنولوجيا منصة مجموعات الترجمة(CTF) او من خلال مترجم بشري. تقدم لك شركة مايكروسوفت هذه المقالات المترجمة بشكل آلي او بالترجمة البشرية او بعد تحريرها وتدقيقها من قبل مجموعات الترجمة حتى تمكنكم من الوصول إلى جميع المقالات الموجودة في قواعد المعرفة لديها بلغات مختلفة. إلا أن المقالات المترجمة قد تحتوي على أخطاء في المفردات او بناء الجمل او النحو. وعليه، فإن شركة مايكروسوفت ليست مسؤولة عن اية أخطاء او عدم دقة في الترجمة او أية أضرار قد تحدث نتيجة أخطاء في ترجمة محتويات النص او استخدامه من قبل العملاء.

اضغط هنا لرابط المقالة باللغة الانجليزية306574
للحصول على إصدار Microsoft Visual C#.NET هذا المقالات، راجع 320916.
للمرئي Microsoft J# الإصدار.NET من هذه المقالة، راجع 320622.
للحصول على إصدار Microsoft Visual Basic 6.0 لهذا المقالات، راجع 164485.
للحصول على إصدار Microsoft Visual Basic 6.0 لهذا المقالات، راجع 300488.

في هذه المهمة

الموجز
توضح هذه المقالة كيفية استخدام ASP.NET و ADO.NET باستخدام Visual Basic.NET لإنشاء واستدعاء Microsoft SQL Server المخزنة إجراء مع معلمة إدخال ومعلمة إخراج.

التعليمات البرمجية نموذج في هذه المقالة أولاً بالتحقق ما إذا كان الإجراء المخزن الذي سوف إنشاء في قاعدة البيانات. إذا كان الإجراء المخزن غير موجود، التعليمات البرمجية إنشاء إجراء مخزن الذي يأخذ معلمة واحدة للبحث الجدول كتاب استناداً إلى اسم العائلة وتقوم بإرجاع صفوف مطابقة و عدد الصفوف التي تم إرجاعها في معلمة إخراج.

هذه المقالة كما يوضح كيفية إنشاء "نموذج ويب" الذي يوفر مستخدم بسيطة واجهة. نموذج ويب يحتوي على العناصر التالية:
  • مربع نص الذي يقوم المستخدم بكتابة البحث الشرط.
  • عنصر تحكم DataGrid التي تعرض نتائج البحث.
  • عنصر تحكم تسمية الذي يعرض عدد السجلات التي تم إرجاعها.
  • عنصر تحكم زر يقوم باستدعاء الإجراء المخزن عندما يكون الزر بالنقر فوق.
back to the top

متطلبات

توضح القائمة التالية الأجهزة الموصى بها، البرامج، البنية الأساسية للشبكة، وحزم الخدمات المطلوبة:
  • Microsoft SQL Server الإصدار 7.0 أو أعلى
  • Microsoft Visual Studio.NET
  • Microsoft Visual Basic.NET
  • أذونات لإنشاء إجراء مخزن في قاعدة البيانات
تفترض هذه المقالة أنك على دراية بما يلي المواضيع:
  • الإجراءات المخزنة SQL الخادم
back to the top

إنشاء مشروع ASP.NET وإضافة عناصر التحكم

في هذا المقطع، يمكنك إنشاء مشروع ASP.NET وبناء واجهة مستخدم أساسية. لاحظ أن هذه الخطوات استخدام Microsoft Visual Basic.NET التعليمات البرمجية. لإنشاء المشروع، اتبع الخطوات التالية:
  1. انقر فوق ابدأوأشر إلى البرامج، وأشر إلى Microsoft Visual Studio.NET، وثم انقر فوق Microsoft Visual Studio.NET.
  2. في الصفحة "بدء Visual Studio.NET تشغيل"، انقر فوق مشروع جديد.
  3. في مربع الحوار مشروع جديد ، انقر فوق مشاريع Visual Basic ضمن أنواع Projectومن ثم انقر فوق تطبيق ويب ASP.NET ضمن قوالب.
  4. في المربع الاسم ، اكتب اسماً لتطبيق الويب الخاص بك، ومن ثم انقر فوق موافق.
  5. إضافة عناصر تحكم الخادم التالية إلى "نموذج ويب"، وتعيين الخصائص كما تم سردها في الجدول:
    عنصر التحكممعرف الخاصيةخاصية النص
    تسميةلبلاستنامياكتب اسم العائلة للمؤلف:
    مربع نصتكستلاستنامي%
    زرbtnGetAuthorsالحصول على كتاب
    تسميةلبلرووكونت(عدد الصفوف)

  6. اسحب عنصر تحكم ملقم DataGrid من مربع الأدوات إلى "نموذج ويب"، ثم قم بتعيين خاصية الاسم إلى GrdAuthors.
  7. زر الماوس الأيمن فوق الشبكة، ومن ثم انقر فوق "تنسيق تلقائي".
  8. انقر فوق عالي الجودة 1 للنظام، ومن ثم انقر فوق موافق.
back to the top

جيتاوثورسبيلاستنامي إنشاء إجراء مخزن

استخدام التعليمات البرمجية SQL للعمليات التالية لإنشاء جيتاوثورسبيلاستنامي الإجراء المخزن:
Create Procedure GetAuthorsByLastName1 (@au_lname varchar(40), @RowCount int output)  as select * from authors where au_lname like @au_lname; /* @@ROWCOUNT returns the number of rows that are affected by the last statement. */ select @RowCount=@@ROWCOUNT				
تتضمن هذه التعليمات البرمجية معلمتين: @au_lname و @RowCount. علامة @au_lname معلمة هي معلمة إدخال يحصل على سلسلة البحث إلى إجراء بحث "مثل" في جدول Authors . أن المعلمة @RowCount هي معلمة إخراج يستخدم المتغير @@ROWCOUNT للحصول على الصفوف المتأثرة.

back to the top

إنشاء وتشغيل الإجراء المخزن

للوصول إلى قواعد بيانات SQL Server، يجب عليك استيراد مساحة الاسم System.Data.SqlClient ، التي توفر كائنات جديدة مثل SqlDataReader والكائنات SqlDataAdapter . يمكنك استخدام SqlDataReader لقراءة دفق فقط الصفوف من قاعدة بيانات SQL Server. DataAdapter يمثل مجموعة من أوامر البيانات واتصال قاعدة بيانات التي يمكنك استخدام لتعبئة الكائن DataSet وتحديث قاعدة بيانات SQL Server.

ADO.NET كما يقدم الكائن DataSet ، وتمثيل مقيم في الذاكرة للبيانات التي يوفر نموذج برمجة ثابتاً، العلائقية بغض النظر عن البيانات مصدر. التعليمات البرمجية في هذا المقطع يستخدم كل من هذه الكائنات.
  1. انقر نقراً مزدوجاً فوق نموذج ويب.
  2. إضافة التعليمات البرمجية التالية إلى المقطع تعريف من الخاص بك نموذج ويب الذي يظهر في أعلى إطار التعليمات البرمجية:
    Imports System.DataImports System.Data.SqlClient					
  3. للتأكد من وجود الإجراء المخزن وإنشاء إجراء مخزن جديد، استخدم SqlCommand الكائن مع كائن SqlDataReader . يمكنك استخدام SqlCommand لتشغيل أية أوامر SQL على قاعدة بيانات. قم باستدعاء أسلوب ExecuteReaderSqlCommand العودة SqlDataReader، الذي يحتوي على صفوف مطابقة للاستعلام الخاص بك.

    إضافة التعليمات البرمجية التالية في حدث Page_Load نموذج ويب:
    'Only run this code the first time the page is loaded.'The code inside the IF statement is skipped when you resubmit the page.If Not IsPostBack Then    Dim MyConnection As SqlConnection    Dim MyCommand As SqlCommand    Dim MyDataReader As SqlDataReader    'Create a Connection object.    MyConnection = New SqlConnection("server=(local);database=pubs;Trusted_Connection=yes")    'Create a Command object, and then set the connection.    'The following SQL statements check whether a GetAuthorsByLastName stored procedure     'already exists.    MyCommand = New SqlCommand("if object_id('pubs..GetAuthorsByLastName') is not null " + "begin" + " if objectproperty(object_id('pubs..GetAuthorsByLastName'), 'IsProcedure')= 1" + " select object_id('pubs..GetAuthorsByLastName')" + " else" + " return " + "end" + " else" + " return", MyConnection)    With MyCommand        'Set the command type that you will run.        .CommandType = CommandType.Text        'Open the connection.        .Connection.Open()        'Run the SQL statement, and then get the returned rows to the DataReader.        MyDataReader = .ExecuteReader()        'If any rows are retuned, the stored procedure that you are trying         'to create already exists. Therefore, try to create the stored procedure        'only if it does not exist.        If Not MyDataReader.Read() Then            .CommandText = "create procedure GetAuthorsByLastName (@au_lname varchar(40), " & _                             "@RowCount int output) " & _                             " as select * from authors where au_lname like @au_lname; select @RowCount=@@ROWCOUNT"            MyDataReader.Close()            .ExecuteNonQuery()        Else            MyDataReader.Close()        End If        .Dispose()  'Dispose of the Command object.        MyConnection.Close() 'Close the connection.    End WithEnd If					
  4. استدعاء الإجراء المخزن في الحدث Click لزر btnGetAuthors ومن ثم استخدام كائن SqlDataAdapter لتشغيل الإجراء المخزن الخاص بك. يجب عليك إنشاء معلمات الإجراء المخزن وإلحاقه إلى مجموعة المعلمات للكائن SqlDataAdapter .

    أضف التعليمات البرمجية التالية بعد الحدث Page_Load :
    Private Sub btnGetAuthors_Click(ByVal sender As System.Object, _ ByVal e As System.EventArgs) Handles btnGetAuthors.Click    Dim DS As DataSet    Dim MyConnection As SqlConnection    Dim MyDataAdapter As SqlDataAdapter    'Create a connection to the SQL Server.    MyConnection = New SqlConnection("server=(local);database=pubs;Trusted_Connection=yes")    'Create a DataAdapter, and then provide the name of the stored procedure.    MyDataAdapter = New SqlDataAdapter("GetAuthorsByLastName", MyConnection)    'Set the command type as StoredProcedure.    MyDataAdapter.SelectCommand.CommandType = CommandType.StoredProcedure    'Create and add a parameter to Parameters collection for the stored procedure.    MyDataAdapter.SelectCommand.Parameters.Add(New SqlParameter("@au_lname", _   SqlDbType.VarChar, 40))    'Assign the search value to the parameter.    MyDataAdapter.SelectCommand.Parameters("@au_lname").Value = Trim(txtLastName.Text)    'Create and add an output parameter to Parameters collection.     MyDataAdapter.SelectCommand.Parameters.Add(New SqlParameter("@RowCount", _    SqlDbType.Int, 4))    'Set the direction for the parameter. This parameter returns the Rows returned.    MyDataAdapter.SelectCommand.Parameters("@RowCount").Direction = ParameterDirection.Output    DS = New DataSet() 'Create a new DataSet to hold the records.    MyDataAdapter.Fill(DS, "AuthorsByLastName") 'Fill the DataSet with the rows returned.    'Get the number of rows returned, and then assign it to the Label control.    'lblRowCount.Text = DS.Tables(0).Rows.Count().ToString() & " Rows Found!"    lblRowCount.Text = MyDataAdapter.SelectCommand.Parameters(1).Value & " Rows Found!"    'Set the data source for the DataGrid as the DataSet that holds the rows.    Grdauthors.DataSource = DS.Tables("AuthorsByLastName").DefaultView    'Bind the DataSet to the DataGrid.     'NOTE: If you do not call this method, the DataGrid is not displayed!    Grdauthors.DataBind()    MyDataAdapter.Dispose() 'Dispose of the DataAdapter.    MyConnection.Close() 'Close the connection.End Sub					
  5. في "مستكشف الحلول"، زر الماوس الأيمن فوق صفحة.aspx، ثم انقر فوق تعيين كصفحة البداية.
  6. حفظ المشروع ومن ثم انقر فوق " ابدأ " في Visual Studio.NET. لاحظ أن يتم ترجمة المشروع و أن تشغيل الصفحة الافتراضية.
  7. اكتب اسم الكاتب الأخير في مربع النص، ومن ثم انقر فوق الحصول على الكاتب. لاحظ أنه يتم استدعاء الإجراء المخزن والذي المرجعة تعبئة صفوف DataGrid.

    يمكنك توفير نوع ملقم SQL سلاسل البحث مثلG %، التي تقوم بإرجاع كافة المؤلفين حسب تاريخ آخر الأسماء التي تبدأ بالحرف "ج".
back to the top

استكشاف الأخطاء وإصلاحها

  • إذا تعذر الاتصال بقاعدة البيانات، تأكد من أن سلسلة _ الاتصال بشكل صحيح يشير إلى الخادم الذي يقوم بتشغيل SQL ملقم.
  • إذا تمكنت من الاتصال بقاعدة البيانات، ولكن في حالة مواجهة المشكلات التي تحدث عند محاولة إنشاء إجراء مخزن، تأكد من أن لديك الأذونات الصحيحة لإنشاء الإجراءات المخزنة في قاعدة البيانات التي الاتصال.
back to the top
مراجع
للحصول على مزيد من المعلومات، راجع المواضيع التالية في وثائق Microsoft.NET Framework البرامج تطوير مجموعة (SDK):
نظرة عامة حول ADO.NET
http://msdn.microsoft.com/en-us/library/h43ks021.aspx

ADO.NET DataSet
.aspx http://msdn.microsoft.com/en-us/library/zb0sdh0b (VS.71)

استخدام موفري بيانات.NET للوصول إلى البيانات
.aspx http://msdn2.microsoft.com/en-us/library/s7ee2dwt (vs.71)
لمزيد من المعلومات، راجع الكتاب التالي:
Wyke والن آر، وكمال سلطان وليوبين براد. البرمجة XML (مرجع الأساسية). Microsoft Press، 2001.
للحصول على مزيد من المعلومات، راجع التدريب Microsoft التالية آند شهادة الدورة: لإضافية معلومات حول كيفية تنفيذ هذه المهمة باستخدام "ملقم Microsoft النشطة" الصفحات، انقر فوق رقم المقالة التالي لعرضها في Microsoft قاعدة المعارف:
300488 كيف تقوم بتشغيل SQL الإجراءات من صفحة ASP المخزنة
back to the top

تحذير: تمت ترجمة هذه المقالة تلقائيًا

خصائص

رقم الموضوع: 306574 - آخر مراجعة: 05/29/2013 23:37:00 - المراجعة: 7.0

Microsoft ASP.NET 1.0, Microsoft ASP.NET 1.1, Microsoft ADO.NET 1.1, Microsoft Visual Basic .NET 2002 Standard Edition, Microsoft Visual Basic .NET 2003 Standard Edition

  • kbhowtomaster kbsqlclient kbsystemdata kbmt KB306574 KbMtar
تعليقات
  • الخصوصية وملفات تعريف الارتباط
  • العلامات التجارية
  • © 2016 Microsoft
  • class="shell-icon-globe">
  • العربية (المملكة العربية السعودية)‎
  • /c1.microsoft.com/c.gif?DI=4050&did=1&t=">d=1&t="> var varCustomerTracking = 1; var Route = "76500"; var Ctrl = ""; document.write("