الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

ما هي ملفات ذات امتداد XSD وكيف يستفاد منها

بدأه حسين احمد طالب في 21 نوفمبر 2013 · 3 رد · 871 مشاهدة · في Microsoft Visual Basic.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

ماهي ملفات XSD ؟

 

هي ملفات تساعدنا في استعراض التقارير او ارسال واستلام بيانات من  والى  Stored procedure الموجودة بداخل قاعدة البيانات بطريقة سهلة وواضحة  .

اي التقرير في بيئة الفجوال ستوديو لا يمكن استخدامه عن طريق الاتصال المنفصل او عن طريق الكود بصورة عامة لأنه يحتاج الى ملف ذو امتداد .XSD يحدد  له الحقول التي سيعرض بها البيانات التي نملئها من قاعدة البيانات  . اي تكون العملية بشكل التالي

21-11-2013+09-22-15+%D8%B5.png

     

اي البيانات تأتي من قاعدة البيانات الى ملف XSD الذي نحن نحمله بالبيانات ومنه تعرض داخل التقرير هذه البيانات  والتقرير يعرض داخل مستعرض تقارير  Report Viewer  او تستخدم مباشرة من بدون تقارير

لأدراج ملف .XSD من داخل المشروع نختار اضافة كائن جديد ومن قائمة Data نختار DataSet

 

 

21-11-2013+08-40-31+%D8%B5.png

 

 

شكل الملف بعد ادراجه داخل المشروع يعرض لنا في ToolBox اداوات جديدة نستخدمها في هذه الملفات وسوف نشرحها بلتفصيل

 

 

21-11-2013+08-42-08+%D8%B5.png

 

 

 

كما نعلم التقرير يحتاج لأعمدة تعرض فيه اي حقول لذالك ندرج DataTable لتكوين اعمدة  المطلوبة للتقرير ونوع كل عمود  يحدد من خصائصه وكذالك بقية الخصائص الخاص بكل عمود او حقل. 

 

وكيف نملئى هذه الاعمدة بالبيانات  ؟

نملئها عن طريق TableAdapter ايضا ندرجه في اسفل  DataTable الذي كوناه لكي ننفذ عمليات على TableAdapter  وهو يملئ  الجدول  DataTable بالبيانات  .

 

21-11-2013+08-43-28+%D8%B5.png

 

 

 

وهذا  Query الموجودة داخل TableAdapter نكونها عن طريق سحب  Query من Toolbox وبعد سحب والقائه على  TableAdapter سيعرض لنا الشاشة التالية

21-11-2013+08-44-41+%D8%B5.png

 

 

 

توجد به ثلاث خيارات

1.     Use SQL statements هنا نحن نكتب جملة SQL ونحدد البيانات التي نريدها ان تعرض وكيف

2.     Create new stored procedures هنا ننشئ بروسيجر جديدة ونضيفه في قاعدة البيانات

3.     Use existing stored procedures  هنا نستخدم مباشرة بروسيجر موجودة في قاعدة البيانات

 

في حال اخترنا الخيار الأول ستضهر لنا هذه الشاشة ونكتب به Sql  التي نود ان تنفذ

 

 

21-11-2013+08-45-30+%D8%B5.png

في هذا SQL جعلنا يبحث عن اسم معين

توضيح محتويات الصفحة .... 

 

Query Builder : هي لتنفيذ جملة Sql والتاكد من صحتها

Advanced Options : هي تحديد امكانية اضافة وحذف وتعديل مباشرة على الجدول اي يضيف Query الخاص بلحذف والتعديل  مباشرة. وهذه الخاصية ل اتفعل اذا اذا كان احد حقول الجدول يحتوي على مفتاح رئيسي تستطيع اضافته

21-11-2013+08-46-32+%D8%B5.png

 

 

 

بعد اكمال العمل نضغط next  ستضهر هذه الشاشة

21-11-2013+08-47-30+%D8%B5.png

 

يوجد به اسمين للبروسيجر او الفاكشن  التي كتبناها وكيف سيتم استدعاها

1.     Fill A DataTable هي اسم الدالة التي نريد استدعائها عن ملئى حقول الجدول DataTabel بالبيانات

2.     Return a DataTabel هي اسم الدالة  SelectMethod التي سنستدعيها في التقارير لتمرير البيانات لها

 

 

 

 

 

 

 

العلاقات بين الجداول Relation تستخدم لعمل علاقة بين اكثر من جدول لجلب بيانات من اكثر من جدول الى تقرير او الى المشروع للتعامل معها وهي عملية معروفة جدول رئيسي وثانوي ومفتاح رئيسي وثانوي يربط الجدولين

 

 

21-11-2013+08-48-32+%D8%B5.png

 

هناك طريقة مباشرة لتكوين Data table  و TableAdapter مباشرة بدون تصميم حقل حقل وهو عن طريق الاتصال ببروسيجر موجود بقاعدة البيانات فيه كل مدخلات ومخرجات التقرير فقط نسحب TableAdapter وندرجه ونختار

 

Use existing stored procdures   ونختار البروسيجر من قاعدة البيانات وهو تلقائيا سيكون لنا الجدول الخاص به بكل سهولة وكذالك Query الخاصة به

 

كيف نستدعي الدوال الموجودة داخل ملفات XSD من البرنامج  ؟

 

لعمل نسخة من جدول معين نكون كائن جديد  من Dataset.xsd وبعدها اسم الجدول المطلوب  نكتب التالي

 

vb.net

رلالارVB.net Code

Dim dsCopy As New DataSet1.AdminsManageDataTable
 

 

C#.net

 

C# Code

DataSet1.AdminsManageDataTable dsCopy = new DataSet1.AdminsManageDataTable();

 

 

 

 

 

لتنفيد  Query موجودة ضمن TableAdapter  نكون كائن جديد من ذالك TableAdapter ونستدعي اي دالة موجودة ضمنه ونرسل لها الجدول المراد ملئه بالبيانات الذي كوناه قبل قليل  والبرامترات الخاصة بالجدول

 

vb.net

VB.net Code

Dim TabelAdapb As New DataSet1TableAdapters.AdminsManageTableAdapter
   TabelAdapb.Fill(dsCopy, "h%")
 
 

 

 

 

C#.net

 

C# Code

DataSet1TableAdapters.AdminsManageTableAdapter TabelAdapb = new DataSet1TableAdapters.AdminsManageTableAdapter();
TabelAdapb.Fill(dsCopy, "h");
 
 

 

 

 

الأن لكي نعرض هذه البيانات داخل   GridView1 ويكون الكود كامل

 

vb.net

VB.net Code

Dim dsCopy As New DataSet1.AdminsManageDataTable
Dim TabelAdapb As New DataSet1TableAdapters.AdminsManageTableAdapter
TabelAdapb.Fill(dsCopy, "h")
GridView1.DataSource = dsCopy
 
 

 

 

C#.net

 

C# Code

DataSet1.AdminsManageDataTable dsCopy = new DataSet1.AdminsManageDataTable();
DataSet1TableAdapters.AdminsManageTableAdapter TabelAdapb = new DataSet1TableAdapters.AdminsManageTableAdapter();
TabelAdapb.Fill(dsCopy, "h");
 
 

 

 

 

وفي التقارير تستدعى بشكل التالي نرسل اسم الدالة والبرامترات هنا اتحدث عن ASP.net تقارير اما تقاير تطبيقات الوندوز يكون نفس الطريقة السابقة

 

vb.net

VB.net Code

 

ObjectDataSource1.SelectMethod = "GetData"
            ObjectDataSource1.SelectParameters.Clear()
            ObjectDataSource1.SelectParameters.Add("AdminFullName", DbType.String)
            ObjectDataSource1.SelectParameters("AdminFullName").DefaultValue = "h"
  Me.ReportViewer1.LocalReport.Refresh()
 

 

 

 

C#.net

C# Code

ObjectDataSource1.SelectMethod = "GetData";
ObjectDataSource1.SelectParameters.Clear();
ObjectDataSource1.SelectParameters.Add("AdminFullName", DbType.String);
ObjectDataSource1.SelectParameters("AdminFullName").DefaultValue = "h";
this.ReportViewer1.LocalReport.Refresh();
 
 

 

 

 

الان لنعود الى صفحة تسمية الدالة عند الاستدعاء

1.     Fill a DataTable  كان اسمها fill  وهو ما فعلنا في استعائها كدالة في ملئ grid View

2.     Return a DataTabel  كان اسمها GetData واستدعينها في التقرير

الان عرفنا الفرق في استخدام هذين الاسمين

 

مدونتي

http://hussienahmmed.blogspot.com/

1

------------------

حسين الربيعي

 

مهندس برامجيات من العراق

 

ادرس  في  RIT  في الولايات المتحدة

 

مدونتي

http://hussienahmmed.blogspot.com/

 

قناة اليوتيوب الخاصة بلدورات

https://www.youtube.com/user/alxs1aa

#2

أخي الفاضل 

حسين احمد طالب

بارك الله فيك

certifiedj.jpg

 

 

Image Hosted by ImageShack.us
#3

لك كل الشكر والامتنان  على هذه المعلومة الجيدة

#4

بارك الله بك اخوان وجزاكم الله الف خير

------------------

حسين الربيعي

 

مهندس برامجيات من العراق

 

ادرس  في  RIT  في الولايات المتحدة

 

مدونتي

http://hussienahmmed.blogspot.com/

 

قناة اليوتيوب الخاصة بلدورات

https://www.youtube.com/user/alxs1aa

مواضيع مشابهة