هي مكتبة 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
إرسال تعليق