الأحد، 2 يونيو 2013

مكتبة DBManager للتعامل مع جميع انواع قواعد البيانات

هي مكتبة DLL   طورتها لتمكننا    من التعامل مع جميع انواع قواعد البيانات
 ( Access,Oracle,SQL Server ,MySQL ,SQL Server Compact
تحت نصت .NET FRAMEWORK بطريقة  واحدة واضحة وسلسة جدا  حيث تحتوي  هذه المكتبة على مجموعة دوال تسهل عملية الإضافة والحذف والتعديل والتلاعب وجلب المعلومات بطريقة واحدة مع مختلف أنواع قواعد البيانات حيث فقط تدرج هذه المكتبة وتتعلم كيف تتعامل معها بعدها ستتمكن من التعامل مع جميع أنواع قواعد البيانات دون الحاجة الى تعلم  ADO.NET  الخاصة بكل لغة تحت منصة .NET FRAMEWORK حيث اذا تعلمت على هذه المكتبة تستطيع التعامل مع جميع أنواع قواعد البيانات بلغة VB.NET,C#,F#,Visual   C++ Langaue  حيث اي لغة من هذه اللغات  كنت تستخدم تستطيع التعامل مع جميع أنواع قواعد البيانات

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








Class ColoumnParam

هو Class  متخصص في تحديد البيانات وأنواعها  واسم العمود الذي ستضاف في داخله . في عملية إضافة قديد جديد او تعديل على بيانات قيد . حيث يأخذ هذا Class  ثلاث برامترات وهي  اسم العمود ونوعه والبيانات المضافة  فيه ويعرف كائن منه  بشكل مصفوفة بحجم مساوي لعدد الأعمدة المضافة أو المعدلة. 
Constructor
VB.NET:à
Dim NumberParam(Size) As ColoumnParam

C#:à
ColoumnParam[] x = new ColoumnParam[Size];


تعريف مصفوفة  NumberParam من هذا Class بحجم Size مساوي لعدد الأعمدة المضافة او المعدلة  في القيد الواحد
للعلم ان العنونة Index في المصفوفة  تبدأ من الصفر . مثلا
لو كنا نريد ان نعدل او نضيف عمود واحد  في فجوال بيسك 0=Size  وفي C# يكون  1=Size  .
واذا اردنا ان نضيف او نعدل على عمودين في فجوال بيسك 1=Size  وفي C# يكون  2=Size
أي في VB.NET يكون size هوا اخر موقع في المصفوفة وفي C# يكون Size-1 هو اخر موقع في المصفوفة
لذالك يجب ان تهتم كثيرا في هذه النقطة
VB.NET:à
New ColoumnParam (ColoumnName As String, ColoumnType As ColoumnType, ColoumnData As Object)

C#:à
New ColoumnParam (String ColoumnName, ColoumnType ColoumnType, Object ColoumnData );

في كل موقع في المصفوفة المشتقة من ColoumnParam نخزن فيها بيانات عمود معين كما في الشكل أعلاه  وهي اسم العمود ونوعه والبيانات المضافة  فيه


خصائص Class ColoumnParam

الخاصية
وظيفتها  (كخاصية او كبرامتر )
ColoumnName
 اسم العمود الذي سنضيف او نعدل عليه بشكل نصوص String
ColoumnType
هو نوع العمود الذي سنضيف او نعدل عليه لتحديد نوع العمود الذي سنتعامل معه نكتب فقط ColoumnType  وبعده (.) سيعطينا جميع أنواع الحقول المتوفرة في هذه النوع من قواعد البيانات التي سنستخدمها
ColoumnData
 هي البيانات التي سنضيفها في هذا الحقل ممكن ان تكون بأي نوع نص او تاريخ او رقم او اي نوع اخر .تمرر البيانات بشكل Object أي انت تكتبها على شكلها الذي لديك


مثال : لدينا عمود(name) نوعه نصي ادخل بيانات قيد به بأسم  Hussien  
الحل عن طريق تمرير  البرامترات يكون بشكل التالي
VB.NET Code
Dim x(0) As ColoumnParam
x(0) = New ColoumnParam("name", ColoumnType.Text, "Hussien")

C# Code
ColoumnParam[] x = new ColoumnParam[1];
x[0] = new ColoumnParam("name", ColoumnType.Text, " Hussien");

الحل عن طريق تمرير  الخصائص يكون بشكل التالي
VB.NET Code
Dim x(0) As ColoumnParam
x(0) .ColoumnsName = "name"
x(0) .ColoumnsType =  ColoumnType.Text
x(0). ColoumnsData= "Hussien"

C# Code
ColoumnParam[] x = new ColoumnParam[1];
x[0] .ColoumnsName = "name";
x[0] .ColoumnsType=  ColoumnType.Text;
x[0]. ColoumnsData= " Hussien";


مثال : لدينا ثلاث أعمدة (name نوعه نصي , age نوعه رقمي , Date نوعه تاريخ  ) أضف بيانات في هذه الأعمدة بشكل قيد جديد
VB.NET Code
Dim x(2) As ColoumnParam
x(0) = New ColoumnParam("Date", ColoumnType.DateTime, "11/1/2012")
x(1) = New ColoumnParam("name", ColoumnType.Text, "ali")
x(2) = New ColoumnParam("age", ColoumnType.Int, 5)

C# Code
ColoumnParam[] x = new ColoumnParam[3];
x[0] = new ColoumnParam("Date", ColoumnType.DateTime,"11/1/2012");
x[1] = new ColoumnParam("name", ColoumnType.Text, "ali");
x[2] = new ColoumnParam("age", ColoumnType.Int, 5);



Class ColTabelParam

هو Class متخصص في تحديد بيانات العمود الجديد  في عملية إضافة عمود جديد إلى جدول او تكوين جدول بأعمدة  او تعديل على نوع بيانات عمود موجود أصلا في الجدول . حيث يأخذ هذا Class مجموعة برامترات
Constructor
 VB.NET:à
Dim NumberParam(Size) As ColTabelParam

C#:à
ColTabelParam [] x = new ColTabelParam [Size];
تعريف مصفوفة  NumberParam من هذ اClass  بحجم Size مساوي لعدد الأعمدة  المضافة او المعدلة


تأخذ هذا الأجراء عدة اأشكال فقط اسم العمود ونوعه إجباري أما البقية هي Optional ممكن ان نضعها او ممكن ان نتركها  
New ColTabelParam (ColoumnName, ColoumnType)
تأخذ هذا الأجراء اسم العمود ونوعه

New ColTabelParam (ColoumnName, ColoumnType, Columns_Size)

تأخذ هذا الأجراء اسم العمود ونوعه وحجم بياناته اذا كان نوع الحقل متغير مثل Varchar

New ColTabelParam (ColoumnName, ColoumnType, Columns_Size, NOT_NULL)
تأخذ هذا الأجراء اسم العمود ونوعه وحجم بياناته اذا كان نوع الحقل متغير مثل Varchar  وهل يسمح للحقل بان يترك فارغ في عملية اضافة جديدة ام لا

New ColTabelParam (ColoumnName, ColoumnType, Columns_Size , NOT_NULL, PRIMARY_KEY)
تأخذ هذا الأجراء اسم العمود ونوعه وحجم بياناته اذا كان نوع الحقل متغير مثل Varchar  وهل يسمح للحقل بان يترك فارغ في عملية اضافة جديدة ام لا .وهل الحقل هو مفتاح اساسي للجدول ام لا

New ColTabelParam (ColoumnName, ColoumnType, Columns_Size, NOT_NULL, PRIMARY_KEY, AUTO_INCREMENT )
تأخذ هذا الأجراء اسم العمود ونوعه وحجم بياناته اذا كان نوع الحقل متغير مثل Varchar  وهل يسمح للحقل بان يترك فارغ في عملية اضافة جديدة ام لا .وهل الحقل هو مفتاح اساسي للجدول ام لا وكيفية الزيادة لقيمة الحقل اذا كان مفتاح اساسي للجدول



خصائص
الخاصية
وظيفتها (كبرامتر أو كخاصية)
ColoumnName
 اسم العمود الذي نود التعامل معه بشكل سلسلة نصية String
ColoumnType
نوع العمود الذي سنتعامل معه نكتب فقط ColoumnType  وبعده (.) سيعطينا جميع انواع الحقول المتوفرة في هذه النوع من قواعد البيانات التي سنستخدمها
Columns_Size
حجم  العمود او عدد المواقع التي ستخصص لهذا العمود تفيدنا في حال استخدمنا اعمدة من نوع VAR  أي انواع يحدد المستخدم اكبر عدد للبيانات ممكن ان يشغله هذا العمود . يكون نوع البيانات هذا الحقل Integer  أي ندخل رقم  به. هو خاصية Optional اي معنا ممكن ان ندخلها اذا احتاجيناها او نتركها فارغة اذا لم نستخدمها  او نضع بها صفر
NOT_NULL
هي خاصية تحديد هذا العمود ان يكون غير فارغ من البيانات  يكون نوعها Boolean . اي اذا نجعلناها True معناه لا يجوز اضافة صف وترك هذا العمود فارغ  .وهي ايضا Optional
PRIMARY_KEY
 تحديد هل هذا الحقل هو مفتاح اساسي للجدول ام لا . اذا نعم نجعلها True واذا لا اما نتركها او نكتب False وهي ايضا Optional
AUTO_INCREMENT
تحديد هل هذا الحقل  فيه عملية الزيادة  التلقائية وتفيد  مع حقل المفتاح الأساسي جعله يزداد تلقائيا مع كل قيد جديد . وهي ايضا Optional

مثال :كون عمود(name) نوعه نصي    
الحل عن طريق تمرير  البرامترات يكون بشكل التالي
VB.NET Code
Dim x(0) As ColTabelParam
x(0) = New ColTabelParam("name", ColoumnType.Text(

C# Code
ColTabelParam[] x = new ColTabelParam[1];
x[0] = new ColTabelParam("name", ColoumnType.Text );

الحل عن طريق تمرير  الخصائص يكون بشكل التالي
VB.NET Code
Dim x(0) As ColTabelParam
x(0) .ColoumnsName = "name"
x(0) .ColoumnsType =  ColoumnType.Text

C# Code
ColTabelParam[] x = new ColTabelParam[1];
x[0].ColoumnsName = "name" ;
x[0].ColoumnsType =  ColoumnType.Text;


مثال : تكوين ثلاث أعمدة (name نوعه نصي , age نوعه رقمي , Date نوعه تاريخ  ).؟
VB.NET Code
Dim x(2) As ColTabelParam
x(0) = New ColTabelParam("Date", ColoumnType.DateTime)
x(1) = New ColTabelParam("name", ColoumnType.Text)
x(2) = New ColTabelParam("age", ColoumnType.Int)

C# Code
ColTabelParam[] x = new ColTabelParam[3];
x[0] = new ColTabelParam("Date", ColoumnType.DateTime );
x[1] = new ColTabelParam("name", ColoumnType.Text );
x[2] = new ColTabelParam("age", ColoumnType.Int );


ألان إذا أردنا ان نجعل عمود name يحتوي على مفتاح تلقائي للجدول وزيادة تلقائية لقيمته وعدم سماح ان يترك فارغ وعمود age  فقط لا يسمح ان يترك فارغ

VB.NET Code
Dim x(2) As ColTabelParam
        x(0) = New ColTabelParam("Date", ColoumnType.DateTime)
        x(1) = New ColTabelParam("name", ColoumnType.Text,0 , True, True, True)
        x(2) = New ColTabelParam("age", ColoumnType.Int,0 , True)


C# Code
ColTabelParam[] x = new ColTabelParam[3];
            x[0] = new ColTabelParam("Date", ColoumnType.DateTime );
            x[1] = new ColTabelParam("name", ColoumnType.Text, 0 ,true, true, true );
            x[2] = new ColTabelParam("age", ColoumnType.Int ,0 , true );


نراه في Vb.net لم يستخدم حقل حجم العمود    وضع فيه قيمة صفر وهو أصلا لا يؤثر  لان ليس لدينا نوع عمود متغير VarChar  وفي عمود age وضع حقل NOT Null قيمة True أي لا يسمح بان تضاف بيانات قيد جديد ويترك هذا الحقل بدون بيانات
مثال :كون عمود(name) نوعه  Varchar حجمه 15 حرف  

VB.NET Code
Dim x(0) As ColTabelParam
x(0) = New ColTabelParam("name", ColoumnType. varchar50,15(

C# Code
ColTabelParam[] x = new ColTabelParam[1];
x[0] = new ColTabelParam("name", ColoumnType. varchar50,15 );



Class DBOpeartion

هوا Class متخصص في إضافة وحذف وتعديل وجلب بيانات من الجداول وإضافة جداول وحذفها وتعديل عليها.وهو يحتوي على جميع الدوال الخاصة بالتلاعب بقاعدة البيانات لذالك نشتق كائن من وسوف يعرض لنا الدوال التي سنتعامل معها ضمن هذا Class لينفذ عملياته على قاعدة البيانات الي نحددها   من خلال تكوين كائن جديد من هذا Class  وجعل connectionStringDB مساوية لجملة الاتصال الخاصة بقاعدة بياناتنا .  
Constructor
Vb.NET
Dim Modi As  New DBOpeartion(connectionStringDB)
C#
DBOpeartion Modi =  New DBOpeartion(connectionStringDB);
connectionStringDB يمثل جملة الاتصال بقواعد البيانات الخاصة بك






خصائص Class DBOpeartion

الخاصية
وظيفتها
connectionString

نستطيع من خلالها قراءة او تحديد جملة الأتصال بقاعدة البيانات التي تخصنا
SQLComand

هذه الدالة للقراءة فقط تعيد لنا عبارة SQL التي ستتكون تلقائيا نتيجة اي عمل نقوم به تفيدنا في معرفة الخطأ الذي سنكتبه في العبارة
ErrorMessage

هذه الدالة للقراءة فقط  تعيد لنا رسالة نصية  بالخطأ الذي يحدث














أدراج مكتبة DBManager

هناك مجموعة مكاتب ضمن الملف المضغوط DBManager قسمتها لسهولة التعامل وعد جلب كثير ملفات مع المكتبة عند كل تشغيل نحن لسنا بحاجة لها لان دائما ما نتعامل مع قاعدة بيانات من نوع واحد في برامجنا . حيث تختار المكتبة التي تخص قاعدة بياناتك مثلا اذا كنت تتعامل مع قاعدة بيانات من نوع SQL Server تختار المكتبة SQLseverDBManager وتفك الضغط عنها وتدرجها الى المشروع الجديد الخاص بك بالطريقة التالية .

نضغط بزر Mouse الأيمن على Reference ونختار     Add Reference ونختار المكتبة الخاصة بالتعامل مع قاعدة بيانات  SQL Server . ونضغط موافق ستدرج المكتبة الى المشروع الجديد




ألان بعد من ان انتهينا من أدرج المكتبة .نبدأ  بالبرمجة بالبداية نستدعي المكتبة في التعريفات العامة
VB.NET Code
Imports DBManager

C# Code
 using DBManager;




إحضار Connection String الخاصة بقاعدة البيانات

لكل قاعدة بيانات في لها Connection String مختلف عن غيره نستطيع توفر الاتصال بقاعدة البيانات هذه .

مثال : قاعدة بيانات  SQL Server  اسمها Demodata قم بإحضار Connection String وكون كائن اتصال جديد.؟
الحل: نجلب Connection String الخاصة بقاعدة البيانات هذه بالذهاب على Server Explore واختيار Connect to Database ونختار اسم قاعدة البيانات وموقعها وقبل ان نتصل بها نذهب الى  Advanced ونختار Connection String التي ستطهر في نهاية القائمة  ولتكن
(Data Source=localhost;Initial Catalog=demodata;Integrated Security=True )

ألان نكون كائن DBOpeartion جديد لتعامل مع قاعدة بياناتنا
VB.NET Code
Public Modi As New DBOpeartion("Data Source=localhost;Initial Catalog=demodata;Integrated Security=True")

C# Code
public DBOpeartion Modi = new DBOpeartion("Data Source=localhost;Initial Catalog=demodata;Integrated Security=True");
جميع أنواع قواعد البيانات تحضر Connection String لها بهذه الطريقة .
·        واختصار للكود البرمجي سوف اعتمد على هذا  الكائن  Modi في جميع الأمثلة وانت تحضر مصدر قاعدة البيانات حسب نوع قاعدة البيانات لديك

أجرائات Class DBOpeartion

هي مجموعة اجرائات تمكننا من التلاعب بقاعدة البيانات وبياناتها وهي سهلة الفهم والتطبيق.

InsertRow
إضافة سجل أو قيد جديد إلى جدول في قاعدة البيانات .تأخذ هذه الدالة اسم الجدول ومصفوفة بالأعمدة المضاف اليها بيانات  من نوع ColoumnParam كل موقع ضمن المصفوفة يأخذ اسم العمود ونوع بياناته والبيانات الجديدة المضافة اليه . وتعيد هذه الدالة  قيمة Boolean . إن نجحت عملية الإضافة  تعيد الدالة قيمة  True وإذا لا تعيد False
Constructor
InsertRow(  TabelName  ,   coloumns()  )  

TabelName: هو اسم الجدول المراد إضافة بيانات قيد جديد إليه
Coloumns : هي مصفوفة ببيانات القيد الجديد من نوع ColoumnParam كل موقع يحتوي على اسم العمود ونوع بياناته والبيانات الجديدة المضافة إليه

مثال : قاعدة بيانات فيها جدول Table_2 فيه ثلاث أعمدة name,age,Date  فيها بيانات كما في الشكل
ادخل بيانات قيد واحد جديد. واعرض رسالة بالخطأ وبعبارة  SQL التي تكونت وعبارة ConnectionString
Date
age
name
12/12/2010
22
hussien
12/1/2005
29
waeel
12/2/2000
25
modar
شكل المحتويات    Tabel_2

VB.NET Code

        Dim x(2) As ColoumnParam
        x(0) = New ColoumnParam("Date", ColoumnType.DateTime, "11/1/2012")
        x(1) = New ColoumnParam("name", ColoumnType.Text, "ali")
        x(2) = New ColoumnParam("age", ColoumnType.Int, 5)
        Modi.InsertRow("Table_2", x)
        MsgBox(Modi.ErrorMessage & ":" & Modi.SQLComand & ":" & Modi.connectionString)


C# Code

ColoumnParam[] x = new ColoumnParam[3];
x[0] = new ColoumnParam("Date", ColoumnType.DateTime,"11/1/2012");
x[1] = new ColoumnParam("name", ColoumnType.Text, "ali");
x[2] = new ColoumnParam("age", ColoumnType.Int, 5);

Modi.InsertRow("Table_2", x) ;
MessageBox.Show(Modi.ErrorMessage + ":" + Modi.SQLComand + ":" + Modi.connectionString);


شكل الجدول بعد الإضافة
Date
age
name
12/12/2010
22
hussien
12/1/2005
29
waeel
12/2/2000
25
modar
11/1/2012
5
ali
شكل المحتويات    Tabel_2


UpdateRow
تعديل او تحديث بيانات  سجل أو قيد جديد في جدول في قاعدة البيانات .تأخذ هذه الدالة اسم الجدول ومصفوفة بالأعمدة المضاف إليها بيانات  من نوع ColoumnParam كل موقع ضمن المصفوفة يأخذ اسم العمود ونوع بياناته والبيانات الجديدة المضافة اليه  والشرط الذي سيحددنا على أي سجل سنعدل مثلا تغير عمر الشخص اسمه حسين يكون الشرط الاسم يساوي حسين . وتعيد قيمة Boolean إن نجحت العملية تعيد الدالة قيمة  True وإذا لا تعيد False
Constructor
UpdateRow(TabelName, coloumns(),Condition)   


TabelName : اسم الجدول الذي سنعدل بيانات أحدى سجلاته
coloumns : هي مصفوفة بالأعمدة المضاف إليها بيانات  من نوع ColoumnParam كل موقع ضمن المصفوفة يأخذ اسم العمود ونوع بياناته والبيانات الجديدة المضافة اليه
Condition : الشرط الذي سيحددنا على أي سجل سنعدل مثلا تغير عمر الشخص اسمه حسين يكون الشرط الاسم يساوي حسين




مثال :قاعدة بيانات  فيها جدول Table_2 فيه ثلاث اعمدة name,age,Date  فيها بيانات كما في الشكل
غير عمر حسين الى 30 سنة .
Date
age
name
12/12/2010
22
hussien
12/1/2005
29
waeel
12/2/2000
25
modar
شكل المحتويات    Tabel_2



VB.NET Code
Dim x(0) As ColoumnParam
x(0) = New ColoumnParam("age", ColoumnType.Int, 30)

Modi.UpdateRow("Table_2", x, "name like 'hussien'")

C# Code
ColoumnParam[] x = new ColoumnParam[1];
x[0] = new ColoumnParam("age", ColoumnType.Int, 30);

Modi.UpdateRow("Table_2", x, "name like 'hussien'") ;



Date
age
name
12/12/2010
30
hussien
12/1/2005
29
waeel
12/2/2000
30
modar
شكل المحتويات    Tabel_2







DeletedRow
حذف سجل او قيد .تأخذ اسم الجدول الذي نريد حذف قيد منه وشرط الحذف . وتعيد قيمة Boolean ان نجحت العملية تعيد True واذا لا تعيد False

Constructor
DeletedRow( TabelName  ,  Condtion  )  
TabelName : اسم الجدول الذي سنحذف بيانات أحدى سجلاته
Condition : الشرط الذي سيحددنا على أي سجل سنحذف مثلا سجل شخص   اسمه حسين يكون الشرط الاسم يساوي حسين
مثال : قاعدة بيانات فيها جدول Table_2 فيه ثلاث اعمدة name,age,Date  فيها بيانات كما في الشكل
احذف سجل حسين   .
Date
age
name
12/12/2010
22
hussien
12/1/2005
29
waeel
12/2/2000
25
modar
شكل المحتويات    Tabel_2



VB.NET Code
If Modi.DeleteColumn("Table_2",   "name like 'hussien'") Then
MsgBox("Delete Success")
End If

C# Code
if (Modi. DeleteColumn("Table_2",   "name like 'hussien'") )

{    MessageBox.Show("Delete Success");}




Date
age
name
12/1/2005
29
waeel
12/2/2000
30
modar
شكل المحتويات    Tabel_2
SelectDataSet :
احضار او فلترتة  بيانات من قاعدة البيانات من جدول او مجموعة جداول حسب شروط نحن نحددها وتعيد هذا الدالة البيانات بشكل DataSet
Constructor
  SelectDataSet(TabelName , coloumns , Condition , ColoumnsOrder , ColumnsGROUPBY , ColumnsHAVING )
TabelName: هو اسم الجدول او الجداول الذي سنبحث في داخلها
coloumns: هي العمود او  الأعمدة التي نريد إحضارها من الجدول او الجداول نكتب بين عمود واخر فارزة
Condtion   :هو الشرط الذي سنحضر او نفلتر البيانات  على أساسه يفضل وضعه بين قوسين
ColoumnsOrder :هو اسم العمود الذي سنرتب البيانات فيه تصاعدي او تنازلي ويرتب على اساسه كل بيانات الجدول . اذا اردنا ان ترتب تنازلي نضع بعد الاسم DESC
ColumnsGROUPBY :هي المجاميع او ترتيب البيانات على شكل مجاميع
ColumnsHAVING :هو ايضا شرط يستخدم في فلترتة البيانات

·        كل الأعمدة عدا  TabelName هي optional نستطيع كتابتها او تركها او كتابة nothing  

مثال : قاعدة بيانات فيها جدول Table_2 فيه ثلاث اعمدة name,age,Date  فيها بيانات كما في الشكل
Date
age
name
12/12/2010
22
hussien
12/1/2005
29
waeel
12/2/2000
25
modar
شكل المحتويات    Tabel_2
1.    اجلب جميع البيانات هذا الجدول  .
VB.NET Code
Dim DataSetSearch As DataSet = Modi.SelectDataSet("Table_2")
        ' or for noe tabel resalt
        Dim DataTabelSearch As DataTable = Modi.SelectDataSet("Table_2").Tables(0)

C# Code
DataSet DataSetSearch=Modi.SelectDataSet("Table_2" );
                 




2.    اجلب فقط اسماء واعمار الاشخاص من هذا الجدول  .
VB.NET Code
Dim DataSetSearch As DataSet = Modi.SelectDataSet("Table_2" ,"name,age")


C# Code
DataSet DataSetSearch=Modi.SelectDataSet("Table_2" ,"name,age");
                 

age
name
22
hussien
29
waeel
25
modar
شكل المحتويات    Tabel_2

3.    اجلب فقط اسماء واعمار الذين عمرهم اكبر من 25 سنة.
VB.NET Code
Dim DataSetSearch As DataSet = Modi.SelectDataSet("Table_2" ,"name,age", "age>25")


C# Code
DataSet DataSetSearch=Modi.SelectDataSet("Table_2" ,"name,age", "age>25");
                 

age
name
29
waeel
شكل المحتويات    Tabel_2




4.    اجلب فقط اسماء واعمار الذين عمرهم اكبر من بين 25 و22 سنة.
VB.NET Code
Dim DataSetSearch As DataSet = Modi.SelectDataSet("Table_2", "name,age", "( (age>=22) and (age<=25) )")



C# Code
DataSet DataSetSearch=Modi.SelectDataSet ("Table_2", "name,age", "( (age>=22) and (age<=25) )");
                 

age
name
22
hussien
25
modar
شكل المحتويات    Tabel_2
1.    اجلب جميع البيانات ورتب على اساس الاسم  تصاعدي .
VB.NET Code
Dim DataSetSearch As DataSet = Modi. SelectDataSet("Table_2", "*", Nothing, "name")


C# Code
DataSet DataSetSearch=Modi. SelectDataSet("Table_2", "*", Nothing, "name");
                 

Date
age
name
12/12/2010
22
hussien
12/2/2000
25
modar
12/1/2005
29
waeel
شكل المحتويات    Tabel_2




مثال : جدول اسمه (Table1) وفيه ثلاثة أعمدة هي (name,values,work)
work
values
name
Dialay
2
hussien
Dialay
8
waeel
Kanaken
9
modar
Kanaken
5
waeel
Kanaken
4
hussien
Kanaken
7
hussien
جدول اسمه Table1
1.    اجلب الأسماء الاشخاص ومجوع   قيم في حقل  values لكل شخص  
VB.NET Code
Dim DataSetSearch As DataSet = Modi. SelectDataSet ("Table1", "name, sum(values)", Nothing, Nothing, "name")


C# Code
DataSet DataSetSearch=Modi. SelectDataSet ("Table1", "name, sum(values)", Nothing, Nothing, "name");
                 

النتيجة
values
name
13
hussien
13
waeel
9
modar
جدول اسمه Tabel1



مثال:قاعدة بيانات لسجلات عملاء فيها  ثلاث جداول كما في الشكل .  الجدول  tabel هو الجدول الرئيسي ويحتوي على المفتاح الرئيسي فيه اسماء العملاء ورقم سجلهم الداخلي ورقم سجلهم الخارجي وبقية الجداول هي جداول ثانوية . والجدول  inside فيه بيانات السجل الداخلي لكل للعملاء  نرى كل عملية في الجدول table له نفس id  في جدول inside أي كل عميل له بيانات نحن نخزنها بنفس id  في الجدول  inside  .  والجدول  outside فيه بيانات السجل الخارجي للعملاء


1.    قم بجلب  اسم العميل  و بيانات العمود word  الخاصة بكل زبون

VB.NET Code
Dim DataSetSearch As DataSet = Modi. SelectDataSet ("tabel", "tabel.cilent, tabel.word", "inner join inside on tabel.ID=inside.ID")



C# Code
DataSet DataSetSearch=Modi. SelectDataSet ("tabel", "tabel.cilent, tabel.word", "inner join inside on tabel.ID=inside.ID");
                 

word
cilent
manger
hussien
enginer
waeel
amal
modar
ider
raffed
SelectCell
تمكننا هذا الدالة من احضار بيانات خلية واحدة  ضمن قيد محدد وفق شرط محدد من جدول معين .تعيد لنا هذا الدالة سلسلة نصية مهما كان نوع الخلية التي نبحث عنها  
Constructor
 SelectCell( TabelName  , SearchColoumnName ,  Condtion  )  

TabelName: هو اسم الجدول الذي سنبحث في داخله
SearchColoumnName: هو اسم العمود الذي نريد جلب البيانات من احدى خلاياه
Condtion   :هو الشرط الذي سنجلب بيانات خلية على اساسه

مثال : قاعدة بيانات فيها جدول Table_2 فيه ثلاث اعمدة name,age,Date  فيها بيانات كما في الشكل
اعرض اسم الشخص الذي عمره 25 سنة  في رسالة  .
Date
age
name
12/12/2010
22
hussien
12/1/2005
29
waeel
12/2/2000
25
modar
شكل المحتويات    Tabel_2

VB.NET Code
MsgBox(Modi.SelectCell("Table_2", "name", "age=25"))


C# Code
MessageBox.Show(Modi.SelectCell("Table_2","name","age=25") );













CreateNewTable
تقوم هذه الدالة بإنشاء جدول جديد .تأخذ هذه الدالة اسم الجدول الجديد ومصفوفة بالأعمدة المضافة إليه وأنواعها    . وتعيد قيمة Boolean  . ان نجحت العملية تعيد True واذا لا تعيد False
Constructor
CreateNewTable(  TabelName  ,   coloumns())  

TabelName : اسم الجدول الجديد
coloumns : هي مصفوفة بالأعمدة المضاف الى الجدول  من نوع ColTabelParam يكون عبارة عن مصفوفة و كل موقع ضمن المصفوفة يأخذ اسم العمود ونوع بياناته وهل هو مفتاح اساسي وهل يكون فارغ ام لا ونوع الزيادة التلقائية

مثال: إنشاء جدول جديد اسمه Tabel_2 فيه ثلاث اعمدة (name,age,Date )
VB.NET Code

        Dim x(2) As ColTabelParam
x(0) = New ColTabelParam("Date", ColoumnType.DateTime)
x(1) = New ColTabelParam("name", ColoumnType.Text)
x(2) = New ColTabelParam("age", ColoumnType.Int)
        Modi.CreateNewTable("Table_2", x)
       

C# Code

ColTabelParam[] x = new ColTabelParam[3];
            x[0] = new ColTabelParam("Date", ColoumnType.DateTime );
            x[1] = new ColTabelParam("name", ColoumnType.Text);
            x[2] = new ColTabelParam("age", ColoumnType.Int  );

Modi.CreateNewTable("Table_2", x) ;


مثال: إنشاء جدول جديد اسمه Tabel_2 فيه عمود name وعليه مفتاح اساسي ,ولا يترك فارغ
VB.NET Code
Dim x(0) As ColTabelParam
x(0) = New ColTabelParam("name", ColoumnType.Text, ,0 , True, True)
Modi.CreateNewTable("Table_2", x)

C# Code
ColTabelParam[] x = new ColTabelParam[1];
x[0] = new ColTabelParam("name", ColoumnType.Text,0 , true, true);
Modi.CreateNewTable("Table_2", x) ;



DeleteTable
حذف جدول .تأخذ اسم الجدول الذي نريد حذفه. وتعيد قيمة Boolean . ان نجحت العملية تعيد True واذا لا تعيد False

Constructor
DeleteTable(TabelName)
TabelName : اسم الجدول الذي سنحذفه

مثال :قاعدة بيانات  فيها جدول Table_2 فيه ثلاث اعمدة name,age,Date  فيها بيانات كما في الشكل
احذف  الجدول.
Date
age
name
12/12/2010
22
hussien
12/1/2005
29
waeel
12/2/2000
25
modar
شكل المحتويات    Tabel_2



VB.NET Code
If Modi.DeleteTable("Table_2") Then
MsgBox("Delete Success")
End If

C# Code
if (Modi.DeleteTable("Table_2") )

{    MessageBox.Show("Delete Success");}








insertColumn
إضافة عمود او أعمدة الى جدول معين  تأخذ هذه الدالة اسم الجدول ومصفوفة بالأعمدة المضافة اليه وأنواعها    . وتعيد قيمة Boolean . ان نجحت العملية تعيد True واذا لا تعيد False

Constructor
insertColumn(  TabelName  ,   coloumns()  )  
TabelName : اسم الجدول الجديد
coloumns : هي مصفوفة بالأعمدة المضاف الى الجدول  من نوع ColTabelParam يكون عبارة عن مصفوفة و كل موقع ضمن المصفوفة يأخذ اسم العمود ونوع بياناته وهل هو مفتاح اساسي وهل يكون فارغ ام لا ونوع الزيادة التلقائية

مثال: إضافة عمود اسمه DateName  من نوع تاريخ ووقت الى جدول Tabel_2  
Date
age
name
12/12/2010
22
hussien
شكل المحتويات    Tabel_2
VB.NET Code

        Dim x(0) As ColTabelParam
x(0) = New ColTabelParam("DateName", ColoumnType.DateTime)
        Modi.insertColumn("Table_2", x)
       

C# Code

ColTabelParam[] x = new ColTabelParam[1];
            x[0] = new ColTabelParam("DateName", ColoumnType.DateTime );

Modi.insertColumn("Table_2", x) ;


DateName
Date
age
name

12/12/2010
22
hussien
شكل المحتويات    Tabel_2


DeleteColumn
حذف عمود او اعمدة من جدول تأخذ اسم الجدول أسماء الأعمدة المراد حذفها بينها فارزة

Constructor
DeleteColumn( TabelName  ,  columns  )  


TabelName : اسم الجدول  
coloumns : هو اسماء الأعمدة بينها فارزة



مثال:    جدول   Tabel_2    احذف منه عمود age وعمود name
Date
age
name
12/12/2010
22
hussien
شكل المحتويات    Tabel_2
VB.NET Code
Modi.DeleteColumn("Table_2", "name,age")
       

C# Code
Modi.DeleteColumn("Table_2", "name,age") ;


Date
12/12/2010
شكل المحتويات    Tabel_2




مثال:    جدول Tabel_2    احذف منه المفتاح الأساسي
VB.NET Code
Modi.DeleteColumn("Table_2", " PRIMARY KEY")
       

C# Code
Modi.DeleteColumn("Table_2", " PRIMARY KEY") ;



ModifyColumn
تحديث نوع بيانات عمود معين تأخذ هذه الدالة اسم الجدول والعمود المعدل على نوعه ونوعه الجديد  . وتعيد قيمة Boolean  .ان نجحت العملية تعيد True واذا لا تعيد False  
Constructor
ModifyColumn(TabelName, coloumns  )  

TabelName : اسم الجدول  
coloumns : هو كائن   من نوع ColTabelParam يأخذ اسم العمود المعدل عليه والنوع الجديد وبقية خصائص الأعمدة الاعتيادية فقط هنا لا يأخذ مصفوفة يأخذ عمود واحد

مثال: تغير نوع عمود اسمه DateName  الى نصوص في  جدول Tabel_2  
VB.NET Code

        Dim x As ColTabelParam
x= New ColTabelParam("DateName", ColoumnType.Text)
        Modi.ModifyColumn("Table_2", x)
       

C# Code

ColTabelParam x = new ColTabelParam;
            x = new ColTabelParam("DateName", ColoumnType.Text );

Modi.ModifyColumn("Table_2", x) ;



فيديوات تشرح طريقية الاستخدام







مثال على استخدام المكتبة بهذا التطبيق






هناك تعليق واحد:

تيارت للبرمجيات الحصرية يقول...

اريد كتاب تعلم الاسمبلي من ايديك يا استاذ مثل ما عملت في السي بلس بلس


isberabah@live.fr