أهم أقسام المدونة

الصفحات

الأربعاء، 1 فبراير 2017

SqlParameter Class


فئة معامل سيكويل SqlParameter Class 

هذه الفئة ترث الفئة DbParameter، وهي تمثل معاملا في استعلام موجه إلى سيكويل سيرفر، أو بطريقة أخرى: يمكنك استخدام هذه الفئة لإرسال قيمة إلى معامل معرف ضمن أحد الاستعلامات.. راجع كيفية تعريف المعاملات ضمن الاستعلام. 

حدث الإنشاء (منشئ الفئة) SqlParameter Constructor:
لحدث إنشاء الفئة SqlParameter سبع صيغ.. المزيد من التفاصيل.

والكود التالي يعرف معاملا يقرأ قيمته من الحقل Book في مجموعة البيانات DataSet:
Dim PrmBook As New SqlParameter("@Book",
        SqlDbType.NVarChar, 0, "Book")
والكود التالي يعرف معاملا يأخذ قيمته من النسخة الأصلية للحقل ID في مجموعة البيانات:
Dim PrmID As New SqlParameter("@Original_ID",
        SqlDbType.Int, 0, ParameterDirection.Input, False, 0,
        0, "ID", DataRowVersion.Original, Nothing)
ويمكنك استخدام هذين المعاملين لتعريف أمر التحديث Update كالتالي:
Dim UpdateCmd As New SqlCommand
UpdateCmd.CommandText = "UPDATE Books " & _
        "SET Book = @Book WHERE ID = @Original_ID"
UpdateCmd.Connection = Me.SqlConnection1
UpdateCmd.Parameters.AddRange(
         New SqlParameter( ) {PrmBook, PrmID})
ويمكنك جعل هذا الأمر أمر التحديث الخاص بموصل البيانات كالتالي:
DaAuthorBooks.UpdateCommand = UpdateCmd
وستجد هذا الكود في حدث تحميل النموذج Load في المشروع ViewAndEditBooks.. ويمكنك نقل التغييرات من مجموعة البيانات إلى قاعدة البيانات بضغط زر الحفظ، حيث يقوم موصل البيانات DaAuthorBooks بتنفيذ الوسيلة Update، التي تستخدم أمر التحديث والمعاملات التي عرفناها.  

وإضافة إلى ما ترثه من الفئة الأم، تمتلك الفئة SqlParameter الخصائص التالية: 

 المعرف المحلي LocaleId:
تحدد معرف الثقافة المحلية لللغة التي تريد استخدامها في التعامل مع قيمة المعامل.. على سبيل المثال: معرف اللغة العربية بالنظام السداسي عشري هو: 0x0001 . (راجع كتاب: "برمجة إطار العمل"، للمزيد من التفاصيل عن الثقافات العالمية ومعرفاتها). 

 معلومات المقارنة CompareInfo:
تحدد كيف سيقوم هذا المعامل بمقارنة النصوص، وهي تأخذ إحدى قيم المرقم SqlCompareOptions (انظر الملحق رقم 2). 

 الإزاحة Offset:
تحدد موضع بداية القراءة من الخاصية Value.. لمزيد من التفاصيل. 

 نوع بيانات سيكويل SqlDbType:
تحدد نوع المعامل.. المزيد من التفاصيل. 

 اسم النوع SqlParameter.TypeName:

 اسم المتغير الخاص بالمستخدم UdtTypeName:
إذا كنت تستخدم المعامل لإرسال قيمة إلى نوع من تعريف المستخدم User-Defined Type، فضع اسم هذا النوع في هذه الخاصية، ولا تنسَ أن تضع في الخاصية SqlDbType القيمة SqlDbType.Udt.. وسنتعرف على المتغيرات التي يعرفها المستخدم في سيكويل سيرفر لاحقا.
 
 قيمة سيكويل SqlValue:
مماثلة للخاصية Value، وكلتاهما تقرأ أو تغير قيمة المعامل.

* قاعدة بيانات المخطط XmlSchemaCollectionDatabase:
تعيد اسم قاعدة البيانات التي توجد بها مجموعة مخططات XML.. وإذا كانت قيمة هذه الخاصية نصا فارغا، فهذا معناه أن المخططات توجد في قاعدة البيانات الحالية، أو أنه لا توجد مخططات أصلا، وفي الحالة الأخيرة ستكون قيمة الخاصيتين XmlSchemaCollectionName و XmlSchemaCollectionOwningSchema نصا فارغا. 

* اسم مجموعة المخططات XmlSchemaCollectionName:
تعيد اسم مجموعة مخططات XML. 

* XmlSchemaCollectionOwningSchema:
تعيد مخطط العلاقات الرئيسي، الذي يحدد موضع مجموعة مخططات XML. 

من كتاب: من الصفر إلى الاحتراف برمجة قواعد البيانات في فيجوال بيزيك دوت نت ADO .NET.. للتنزيل:

ليست هناك تعليقات:

إرسال تعليق

ملحوظة: يمكن لأعضاء المدونة فقط إرسال تعليق.