آژانس هواپیماییexchanging

مشکل با دستور جستجوی جدول ساز اس کی یو ال (make table query)

شروع موضوع توسط zapata-es24 ‏4 دسامبر 2005 در انجمن Visual Basic 6

  1. zapata-es24

    zapata-es24 Guest

    تاریخ عضویت:
    ‏24 نوامبر 2005
    نوشته ها:
    35
    تشکر شده:
    0
    با سلام
    من قطعه کد زیر رو نوشتم ولی پیغام خطا میده.
    "Adodc1.ConnectionString = "provider=microsoft.jet.oledb.4.0;data source=e:new.mdb
    "Adodc1.RecordSource = "select cod, nam into db2 from db1
    Adodc1.Refresh
    پیغام خطا:
    tabel db2 already exist
    من روی فرم یک کنتری ado و یک کنتری datagrid دارم که ado به db1 وصل شده. به نظرتون مشکل از کجاست؟
    :( :( :blink:
     
  2. zapata-es24

    zapata-es24 Guest

    تاریخ عضویت:
    ‏24 نوامبر 2005
    نوشته ها:
    35
    تشکر شده:
    0
    در ضمن جدول db2 هم قبلا ساختم .:blink: البته با access فیلدهاشم با db1 متناظر هست. :wacko:
     
  3. saeedsmk

    saeedsmk مدیر بازنشسته

    تاریخ عضویت:
    ‏6 سپتامبر 2003
    نوشته ها:
    1,519
    تشکر شده:
    4
    همونطور كه ميدوني اين دستور از روي تيبل 1 تيبل 2 رو ميسازه پس اگه نيبل 2 وجود داشته باشه خطا اعلام ميكنه
     
  4. zapata-es24

    zapata-es24 Guest

    تاریخ عضویت:
    ‏24 نوامبر 2005
    نوشته ها:
    35
    تشکر شده:
    0
    با سلام
    خب آخه وقتی که جدول رو هم پاک میکنم . و مجدد کد رو اجرا میکنم هم پیغام زیر رو میده:wacko: چرا؟
    operation is not allowed when the object is closed.
    چکار باید بکنم؟:blink:
     
  5. mostafa_gm

    mostafa_gm Registered User

    تاریخ عضویت:
    ‏4 آپریل 2005
    نوشته ها:
    1,722
    تشکر شده:
    234
    محل سکونت:
    My House
    فکر میکنم Adodc بصورت پیش فرض query رو روی یه جدول در نظر میگیره باید عوضش کنی، اینو قبل از ایجاد RecordSource بنویس:
    Adodc1.CommandType =adCmdText
     
  6. zapata-es24

    zapata-es24 Guest

    تاریخ عضویت:
    ‏24 نوامبر 2005
    نوشته ها:
    35
    تشکر شده:
    0
    نه بازم نمیشه.
    بزار اینطوری بگم.
    من یک adodc دارم و یک datagrid و یک command button
    adodc1 به صورت ویزاردی به جدول new وصله و در قسمت recordsource گزینه 8-adcmdunknown رو انتخاب کردم
    و در قسمت command text دستور select * from db1 رو نوشتم و در داخل رویداد کلیک دکمه هم کد بالا رو نوشتم.
    اما وقتی کلیک میشه جدول db2 ساخته میشه و تمام کدهای موجود در db1 در اون ریخته میشه اما بعد از اون پیغام خطا هم ظاهر میشه. مشکل چی میتونه باشه؟؟؟:happy: :blink: :wacko:
     
  7. saeedsmk

    saeedsmk مدیر بازنشسته

    تاریخ عضویت:
    ‏6 سپتامبر 2003
    نوشته ها:
    1,519
    تشکر شده:
    4
    ببين عزيز ما دو نوع كامند Sql داريم :
    يكي از اونها براي ازتباط اشيا خاراجي با ديتا بيس هستند كه نمونه ان همون select * from xtable كه كار كانكشن رو انجام ميدن
    و دسته دوم هم دسته اي هستند كه يه عمليات خاصي رو انجام ميدن مثل نمونه كي كه نوشتي . در اين صورت فقط عمليات انجام ميشه و كانكشن يعني connection object براي ارتباط و گرفتن اطلاعات و يا ريختن انها ساخته نميشه . در اين صورت فقط يك ارتباط براي اجرا دستور برقرار شده و بعد از اجرا دستور خروجي برگردونده ميشه نه يك شي .

    حالا دستوري كه نوشتي درسته اما ado object فقط كارش ارتباطي ( اگه اشتباه نكنم با اين مشكلت حدس ميزنم اينطوري باشه) نتيجه فقط دستورات دسته اول رو اجرا ميكنه درست . چون انتظار داره شي اي برگشته داده بشه (گروه اول).و چون شي برگشت داده نميشه پيغام ميده كه جدول بستس .

    براي حل كار يه نگاهي به اين كد بنداز
    براي كانكش database از microsoft activex data object library 2 استفاده ميكنه ( توي رفرنس برنامه نگاه كن ) ( من هميشه از اين كانكشن استفاده ميكنم چون قوي تر و سريعتره )
    اميدوارم كمك كنه
     

    فایل های ضمیمه: