علیرضا مداح
چهارشنبه 26 اسفند 1383, 11:30 صبح
با سلام .
به دلیل اینکه ADO و ADO.Net امکان ایجاد بانکهای اطلاعاتی Access و تغییر در ساختار آنها را به ما نمیدهند به همین دلیل باید از کتابخانه ADOX استفاده نماییم .
قبل از شروع کار مراحل زیر را دنبال نمایید :
1 – یک WindowsApplication جدید ایجاد نمایید .
2 – بر روی پروژه خود راست کلیک کرده گزینه Add Reference را انتخاب نمایید . در پنجره ظاهر شده وارد برگه COM شده و بر روی گزینه ADO Ext. 2.7 for DDL and Security دوبار کلیک کرده و سپس دکمه OK را بزنید تا کتابخانه ADOX به پروژه شما اضافه گردد .
مرحله اول : ایجاد بانک اطلاعاتی Access
'A'
Dim ConnStr As String = "Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=C:\NewMDB.mdb;" & _
"Jet OLEDB:Engine Type=5"
'B
Dim NewDatabase As New Catalog
'C
NewDatabase.Create(ConnStr)
'D
NewDatabase.let_ActiveConnection(ConnStr)
توضیحات :
A.ابتدا متغیری به نام Connstr تعریف کرده و مقدار آن را برابر ConnectionString دیتابیسی که میخواهیم ایجاد کنیم ، قرار میدهیم .
B.برای ایجاد یک دیتابیس ابتدا یک نمونه از شی ء ADOX.Catalog ایجاد مینماییم .
C.با استفاده از تابع Create و متغیر Connstr بانک مورد نظر را ایجاد مینماییم .
D.توسط متد let_ActiveConnection با بانک اطلاعاتی که ایجاد کردیم ارتباط برقرار میکنیم .
مرحله دوم : ایجاد جدول
'A
Dim PersonalTB As New ADOX.Table
'B
PersonalTB.Name = "Personal"
'C
PersonalTB.Columns.Append("FName", DataTypeEnum.adVarWChar, 20)
PersonalTB.Columns.Append("LName", DataTypeEnum.adVarWChar, 20)
PersonalTB.Columns.Append("Age", DataTypeEnum.adInteger, 2)
PersonalTB.Columns.Append("PersonalID", DataTypeEnum.adInteger, 5)
'D
PersonalTB.Keys.Append("PerSonalID", KeyTypeEnum.adKeyPrimary, "PersonalID")
'E
NewDatabase.Tables.Append(PersonalTB)
A.ابتدا یک نمونه از شی ء ADOX.Table ایجاد مینماییم .
B.نام جدول را توسط پروپرتی Name تنظیم مینماییم .
C.در این مرحله میبایست فیلدهای مورد نظر را به جدول اضافه نماییم : برای اینکار باید از متد Append شی ء Columns استفاده نماییم که به صورت زیر تعریف میشود :
Public Overridable Sub Append(ByVal Item As Object, Optional ByVal Type As ADOX.DataTypeEnum = 202, Optional ByVal DefinedSize As Integer = 0)
- توسط آرگومان Item نام فیلد را توسط یک رشته تنظیم مینماییم .
- توسط آرگومان Type نوع فیلد را توسط یکی از ثابتهای شمارشی OX.DataTypeEnumتنظیم مینماییم .
- توسط آرگومان DefineSize اندازه فیلد را به مقدار مورد نظر محدود مینماییم .
D.سپس توسط متد Append مربوط به شی ء Keys یک کلید اصلی بر روی فیلد PersonalID ایجاد مینماییم .
متد Keys.Append به صورت زیر تعریف میشود :
Public Overridable Sub Append(ByVal Item As Object, Optional ByVal Type As ADOX.KeyTypeEnum = 1, Optional ByVal Column As Object = Nothing, Optional ByVal RelatedTable As String = "", Optional ByVal RelatedColumn As String = "")
- توسط آرگومان Column نام فیلدی را که میخواهیم کلید اصلی بر روی آن قرار گیرد را توسط رشته تعیین مینماییم .
E.در این مرحله توسط متد Append مربوط به شی ء Tables جدول مورد نظر را به بانک اضافه مینماییم .
به دلیل اینکه ADO و ADO.Net امکان ایجاد بانکهای اطلاعاتی Access و تغییر در ساختار آنها را به ما نمیدهند به همین دلیل باید از کتابخانه ADOX استفاده نماییم .
قبل از شروع کار مراحل زیر را دنبال نمایید :
1 – یک WindowsApplication جدید ایجاد نمایید .
2 – بر روی پروژه خود راست کلیک کرده گزینه Add Reference را انتخاب نمایید . در پنجره ظاهر شده وارد برگه COM شده و بر روی گزینه ADO Ext. 2.7 for DDL and Security دوبار کلیک کرده و سپس دکمه OK را بزنید تا کتابخانه ADOX به پروژه شما اضافه گردد .
مرحله اول : ایجاد بانک اطلاعاتی Access
'A'
Dim ConnStr As String = "Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=C:\NewMDB.mdb;" & _
"Jet OLEDB:Engine Type=5"
'B
Dim NewDatabase As New Catalog
'C
NewDatabase.Create(ConnStr)
'D
NewDatabase.let_ActiveConnection(ConnStr)
توضیحات :
A.ابتدا متغیری به نام Connstr تعریف کرده و مقدار آن را برابر ConnectionString دیتابیسی که میخواهیم ایجاد کنیم ، قرار میدهیم .
B.برای ایجاد یک دیتابیس ابتدا یک نمونه از شی ء ADOX.Catalog ایجاد مینماییم .
C.با استفاده از تابع Create و متغیر Connstr بانک مورد نظر را ایجاد مینماییم .
D.توسط متد let_ActiveConnection با بانک اطلاعاتی که ایجاد کردیم ارتباط برقرار میکنیم .
مرحله دوم : ایجاد جدول
'A
Dim PersonalTB As New ADOX.Table
'B
PersonalTB.Name = "Personal"
'C
PersonalTB.Columns.Append("FName", DataTypeEnum.adVarWChar, 20)
PersonalTB.Columns.Append("LName", DataTypeEnum.adVarWChar, 20)
PersonalTB.Columns.Append("Age", DataTypeEnum.adInteger, 2)
PersonalTB.Columns.Append("PersonalID", DataTypeEnum.adInteger, 5)
'D
PersonalTB.Keys.Append("PerSonalID", KeyTypeEnum.adKeyPrimary, "PersonalID")
'E
NewDatabase.Tables.Append(PersonalTB)
A.ابتدا یک نمونه از شی ء ADOX.Table ایجاد مینماییم .
B.نام جدول را توسط پروپرتی Name تنظیم مینماییم .
C.در این مرحله میبایست فیلدهای مورد نظر را به جدول اضافه نماییم : برای اینکار باید از متد Append شی ء Columns استفاده نماییم که به صورت زیر تعریف میشود :
Public Overridable Sub Append(ByVal Item As Object, Optional ByVal Type As ADOX.DataTypeEnum = 202, Optional ByVal DefinedSize As Integer = 0)
- توسط آرگومان Item نام فیلد را توسط یک رشته تنظیم مینماییم .
- توسط آرگومان Type نوع فیلد را توسط یکی از ثابتهای شمارشی OX.DataTypeEnumتنظیم مینماییم .
- توسط آرگومان DefineSize اندازه فیلد را به مقدار مورد نظر محدود مینماییم .
D.سپس توسط متد Append مربوط به شی ء Keys یک کلید اصلی بر روی فیلد PersonalID ایجاد مینماییم .
متد Keys.Append به صورت زیر تعریف میشود :
Public Overridable Sub Append(ByVal Item As Object, Optional ByVal Type As ADOX.KeyTypeEnum = 1, Optional ByVal Column As Object = Nothing, Optional ByVal RelatedTable As String = "", Optional ByVal RelatedColumn As String = "")
- توسط آرگومان Column نام فیلدی را که میخواهیم کلید اصلی بر روی آن قرار گیرد را توسط رشته تعیین مینماییم .
E.در این مرحله توسط متد Append مربوط به شی ء Tables جدول مورد نظر را به بانک اضافه مینماییم .