نمایش نتایج 1 تا 9 از 9

نام تاپیک: مقاله - کار با ADOX - چگونگی ایجاد بانک اطلاعاتی Access

  1. #1

    مقاله - کار با ADOX - چگونگی ایجاد بانک اطلاعاتی Access

    با سلام .
    به دلیل اینکه 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 جدول مورد نظر را به بانک اضافه مینماییم .
    I've just started tweeting!
    @Alireza_Maddah

  2. #2
    کاربر دائمی
    تاریخ عضویت
    تیر 1384
    محل زندگی
    ایران-قم
    پست
    457
    ای ول این دیگه آخرشه
    خیلی خیلی باحال بود

  3. #3
    کاربر تازه وارد
    تاریخ عضویت
    خرداد 1384
    محل زندگی
    Merikh
    پست
    51
    سلام


    اقا دستت درد نکنه خیلی جالب بود.

  4. #4
    کاربر دائمی آواتار ehsan_ansaripoor
    تاریخ عضویت
    تیر 1384
    محل زندگی
    isfahan
    پست
    706
    آقا یک دنیا ممنون

  5. #5
    با عرض سلام خدمت جناب آقای نصیری

    من مشکل ساخت کوئری برای بانک اطلاعاتی دارم و نمی دونم چگونه درست کنم در محیط ASP.NET راهنماییم کنید
    درضمن من هر بار که محیط آی اس پ خراب می شه مجبورم دوباره محیط رو باز سازی کنم و بعد مشکل اتصال پیدا میکنه و من مجبورم به طور کامل از دات نت خارج شم ...................
    OleDbDataAdapter1.fill(dataset11)

    و همچنین محیط رو به گونه ای طراحی کردم که بصورت چند تکس باکس در بالا برای نشان دادن محتویات بانک و چند باتون ابتدا و انتها و بعدی و قبلی قرار دادم ولی وقتی کدی که برای آن باتون نوشتم محتویات رکورد بعدی را نشون نمیده ..... برای باتون
    DIM POSITION AS INTEGER
    DIM ID AS STRING
    POSITION =0
    ME.VIEWSTATE("POSITION")=POSITION
    ID = DATASET11.TABLES(0).ROWS(POSITION).ITEM("AU_ID")
    DATAVIEW1.ROWFILTER ="AU_ID = '" & ID &"'"
    TEXTBOX1.DATABINDING()
    LABEL3.TEXT=POSITION + &" OF " &DATASET11.TABLES(0).ROWS.COUNT

  6. #6

    نقل قول: مقاله - کار با ADOX - چگونگی ایجاد بانک اطلاعاتی Access

    سلام
    از راهنمايي خوبي كه براي ساختن فايل اكسس در وي بي گذاشته بودي خيلي ممنونم . خيلي خوب وكامله . ولي من 2 تا سوال دارم كه مي خواستم از شما بپرسم.
    1- حالا كه بانك و table رو ايجاد كرديم چطوري داخل يك for بتوانيم به آن ديتا اضافه كنيم؟
    2- مي شود بانك را طوري تعريف كنيم كه اگر در مسيرداده شده قبلاً فايلي وجودداشت روي آن اضافه كنه و پيام خطا نده؟
    باز هم از راهنمايي شما ممنونم.

  7. #7

    نقل قول: مقاله - کار با ADOX - چگونگی ایجاد بانک اطلاعاتی Access

    سلام .................................................. ...........كسي از دوستان نيست كه بتونه راهنمايي كنه؟

  8. #8
    کاربر تازه وارد
    تاریخ عضویت
    آبان 1390
    محل زندگی
    قم
    پست
    33

    نقل قول: مقاله - کار با ADOX - چگونگی ایجاد بانک اطلاعاتی Access

    با سلام
    ضمن تشکر از شما
    خیلی عالی بود
    بی زحمت کد ها رو با زبان شیرین #C هم بزارید
    با تشکر

  9. #9

    Cool نقل قول: مقاله - کار با ADOX - چگونگی ایجاد بانک اطلاعاتی Access

    این روش جالب بود ولی خیلی ضعیف بود
    من یه جور دیگه بانک رو میسازم
    توی روش شما من فیلد از نوع اتونامبر پیدا نکردم
    من سه تا فانکشن میزارم که
    اولی بانک خالی رو میسازه
    دومی جدول با کلید اصلی اصلی میسازه
    سومی جدول با کلید اصلی و کلید فرعی میسازه
    aval mikham bank ro besazam

    Function DBCreate(ByVal DBSource As String) As Boolean

    Dim DB As New ADOX.Catalog
    DB.Create("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & DBSource)
    Return True
    End Function

    intori estefade mishe : DBCreate(FileAddress.mdb) | Behamin Sadegi shoma ye file mdb e khali sakhtin
    -------------------------------------------------------------------------------------------------------------------------------------------------------------------

    hala ba in fanction ye table be esme persons behesh ezafe mikonim

    Function tblPersons(ByVal DBSource As String) As Boolean
    Dim Cn As New OleDb.OleDbConnection("Provider=Microsoft.Jet.OLED B.4.0;Data Source=" & DBSource)


    Dim CMDtblPersons As OleDb.OleDbCommand = New OleDb.OleDbCommand()
    CMDtblPersons.Connection = Cn
    CMDtblPersons.CommandText = "CREATE TABLE Persons(PID AUTOINCREMENT NOT NULL,FirstName TEXT(50),LastName TEXT(50),CONSTRAINT Persons PRIMARY KEY(pID))"


    Cn.Open()
    CMDtblPersons.ExecuteNonQuery()
    Cn.Close()
    Cn.Dispose()
    Cn = Nothing
    Return True
    End Function


    intori estefade mishe : tblPersons(FileAddress.mdb) | Behamin Sadegi shoma ye jadval ba 3ta fild sakhtin
    ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
    hala jadvale dovomo misazim ke ba jadvale aval ye realation e yek be chand dare

    Function tblPerDets(ByVal DBSource As String) As Boolean
    Dim Cn As New OleDb.OleDbConnection("Provider=Microsoft.Jet.OLED B.4.0;Data Source=" & DBSource)
    Dim cmdPd As New OleDb.OleDbCommand("CREATE TABLE PerDets(pdID AUTOINCREMENT NOT NULL,pID INT NOT NULL,dTitle TEXT(50),CONSTRAINT PerDets_FK FOREIGN KEY (pID) REFERENCES Persons (pID) ,CONSTRAINT PerDets PRIMARY KEY(pdID))", Cn)


    Cn.Open()
    cmdPd.ExecuteNonQuery()
    Cn.Close()
    Cn.Dispose()
    Cn = Nothing
    Return True
    End Function

    be ravesh e ghabli estefade mishe


    fanction e dovom o sevom ye farghe koochooloo dare yani be do ravesh mishe sakht
    motmaenam khodetoon baladin
    movafagh bashin






تاپیک های مشابه

  1. راهنمایی در مورد ADOX در دلفی 2006 یا 2007
    نوشته شده توسط sallar_abuzar در بخش بانک های اطلاعاتی در Delphi
    پاسخ: 8
    آخرین پست: جمعه 28 اردیبهشت 1386, 19:18 عصر
  2. inbound access list & out bound access list
    نوشته شده توسط soroosh_i58 در بخش شبکه و Networking‌
    پاسخ: 2
    آخرین پست: جمعه 29 اردیبهشت 1385, 10:55 صبح
  3. سوال: نحوه استفاده از Access بعنوان دیتابیس شبکه
    نوشته شده توسط mehdi_moosavi در بخش بانک های اطلاعاتی در Delphi
    پاسخ: 19
    آخرین پست: سه شنبه 25 بهمن 1384, 10:10 صبح
  4. ساخت یک جدول با کلید اصلی با کمک adox(مقاله)
    نوشته شده توسط بابک زواری در بخش مطالب مرتبط با بانکهای اطلاعاتی در VB6
    پاسخ: 0
    آخرین پست: شنبه 20 فروردین 1384, 10:56 صبح
  5. adox
    نوشته شده توسط champion در بخش برنامه نویسی در Delphi
    پاسخ: 1
    آخرین پست: چهارشنبه 10 فروردین 1384, 00:53 صبح

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •