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

نام تاپیک: یک سوال ساده در مورد ADO

  1. #1
    کاربر دائمی
    تاریخ عضویت
    آذر 1383
    محل زندگی
    تهران
    پست
    1,021

    یک سوال ساده در مورد ADO

    سلام

    چند وقت پیش توی یک پروژه که داشتم با DAO مینوشتم با DAO دچار مشکل شدم برای حل این مشکل به پیشنهاد یکی از دوستان رفتم سراغ ADO. منم که تا اون موقع با ADO کار نکرده بودم مجبور شدم برم یاد بگیرم.
    حالا در اولین قدم به مشکل برخوردم. ببخشید که اگه کمی سوالم پیش پا افتاده است.
    1. چگونه میتوانم با ADO یک جدول درست کرد.
    2.برای کد زیر پیغام زیر رو داد. بنظر شما ایراد از کجاست؟
    Private Sub Command1_Click()
    Dim CN As New ADODB.Connection
    Dim RS As New ADODB.Recordset
    Pro = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=F:\1.mdb"
    CN.Mode = adModeReadWrite
    CN.Open Pro
    Set RS.ActiveConnection = CN
    RS.Source = "Is"
    RS.Open
    RS.MoveFirst
    While Not RS.EOF
    For i = 1 To RS.Fields.Count - 1
    RS.Fields(i).Value = Str(i)
    Next i
    RS.MoveNext
    Wend
    RS.Close
    CN.Close
    End Sub


    از راهنمایی هاتون ممنون :flower:

    موفق باشید و پرتوان :)

  2. #2
    1) برای ایجاد Table، دو راه دارید:
    الف) استفاده از دستور اس کیو ال Create Table که با متد Execute شی Connection قابل اجرا است.
    سینتکس دستور Create Table به شکل زیر است:

    CREATE TABLE table (field1 type [(size)] [NOT NULL] [index1] [, field2 type [(size)] [NOT NULL] [index2] [, ...]] [, CONSTRAINT multifieldindex [, ...]])

    یک مثال در این رابطه:

    Cnn.Execute "CREATE TABLE MyTable (FirstName TEXT, LastName TEXT);"


    ب) استفاده از ADOX که مخفف Activex Data Objects For Data Definition Language and Security است.
    Reference این کتابخانه، Microsoft ADO Ext. 2.7 For DDL and Security است.
    یک مثال در این رابطه:

    Dim cat As New ADOX.Catalog
    Dim tbl As New ADOX.Table

    cat.ActiveConnection = "Provider=Microsoft.Jet.OLEDB.4.0;" & _
    "Data Source=.\MyDB.mdb;"

    With tbl
    .Name = "Contacts"
    .Columns.Append "StrName", adVarWChar
    .Columns.Append "StrFamily", adVarWChar
    .Columns.Append "Address", adLongVarWChar
    .Columns("Address").Attributes = adColNullable
    End With

    cat.Tables.Append tbl

    Set cat = Nothing


    2) در هنگام ایجاد Recordset، نوع قفلی که باید بر روی رکوردها اعمال شود و نحوه دسترسی به آنها باید مشخص شود. (در کد فوق شما این کار را انجام نداده اید!)
    مثال:

    Connection.Open "Provider=Microsoft.Jet.OLEDB.4.0;" & _
    "Data Source=.\MyDB.mdb;"
    RecordSet.Open "Select * From MyTable", Cnn, adOpenKeyset, adLockOptimistic

    پیشنهاد می کنم که در اکثر اوقات، Recordset را با تنظیمات فوق ایجاد کنید.
    موفق باشید.

  3. #3
    کاربر دائمی
    تاریخ عضویت
    آذر 1383
    محل زندگی
    تهران
    پست
    1,021
    سلام

    آقا بهروز دستت درد نکنه. :flower: :flower: :flower:

    موفق باشید و پرتوان

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

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