التعامل مع DataColumns :
تمثل هذه الفئة عمود واحد في قاعدة البيانات ، وبمعنى آخر فإن مجموعة من ال DataColumns تشكل DataTable يحتوي على هيكل قاعدة البيانات ، المكونات الأساسية لهذه الفئة هي :
AllowDBNull : لتحديد السماح بعدم احتواء بعض القيم في هذا العمود على القيمة Null .
AutoIncrement
AutoIncrementSeed
AutoIncrementStep : تتيح لك هذه الخصائص الثلاث عمل خاصية ترقيم تلقائي كما اوضحناها في بداية دورسنا عن SQL Server ، وتستخدم لتحديد الخاصية وتحديد نقطة البداية ومقدار الزيادة مع كل مرة على الترتيب .
Caption : اسم العمود .
DataType : نوع البيانات .
DefaultValue : القيمة الافتراضية لقيم الحقول في هذا العمود .
Table : تحديد ال DataTable الذي يتبع له هذا العمود .
Unique : تحدد كون هذه القيمة غير قابلة للتكرار Primary key .
هناك مجموعة اضافية من الخصائص تجدها هنا :
انشاء DataColumns :
لنفترض انشاء قاعدة بيانات تحتوي على الرقم الذي هو مفتاح رئيسي وايضاً ترقيم تلقائي ، أما الاسم والعمر فهما لا يحتويان على أي قيم مميزة ، سيكون هذا هو شكل الإعمدة في هذا الجدول :
C#:
كود :
[SIZE=3]DataColumn EmpIDColumn = new DataColumn("ID", typeof(int));
EmpIDColumn.Caption = "Employee ID";
EmpIDColumn.ReadOnly = true;
EmpIDColumn.AllowDBNull = false;
EmpIDColumn.AutoIncrement=true;
EmpIDColumn.AutoIncrementSeed=1;
EmpIDColumn.AutoIncrementStep =1;
EmpIDColumn.Unique = true;[/SIZE]
[SIZE=3]DataColumn EmpNameColumn = new DataColumn("Name", typeof(string));
EmpNameColumn.Caption = "Employee Name";[/SIZE]
[SIZE=3]DataColumn EmpAgeColumn = new DataColumn("Age", typeof(int));
EmpNameColumn.Caption = "Employee Age";[/SIZE]
vb.net:
كود :
[SIZE=3]Dim EmpIDColumn As New DataColumn("ID", GetType(Integer))
EmpIDColumn.Caption = "Employee ID"
EmpIDColumn.[ReadOnly] = True
EmpIDColumn.AllowDBNull = False
EmpIDColumn.AutoIncrement = True
EmpIDColumn.AutoIncrementSeed = 1
EmpIDColumn.AutoIncrementStep = 1
EmpIDColumn.Unique = True [/SIZE]
[SIZE=3]Dim EmpNameColumn As New DataColumn("Name", GetType(String))
EmpNameColumn.Caption = "Employee Name" [/SIZE]
[SIZE=3]Dim EmpAgeColumn As New DataColumn("Age", GetType(Integer))
EmpNameColumn.Caption = "Employee Age" [/SIZE]
ومن ثم نضيفها إلى ال DataTable بالشكل التالي :
C#:
كود :
[SIZE=3]EmployeeTable.Columns.AddRange(new DataColumn[] { EmpIDColumn, EmpNameColumn , EmpAgeColumn });[/SIZE]
vb.net:
كود :
[SIZE=3]EmployeeTable.Columns.AddRange(New DataColumn() {EmpIDColumn, EmpNameColumn, EmpAgeColumn})
[/SIZE]