برگزیده های پرشین تولز

VB.NET و یک مشکل

EbiPenMan

کاربر تازه وارد
تاریخ عضویت
11 آپریل 2005
نوشته‌ها
66
لایک‌ها
0
سلام خدمت دوستان عزیز
من در VB.NET در موقع تغییر دادن اطلاعات درون یک جدول(تیبل دیتابیس) با خطای زیر مواجه می شوم.

***************************************************
Dynamic SQL generation for the UpdateCommand is not supported against a SelectCommand that does not return any key column information.
***************************************************​

توجه :
بانک اطلاعاتی(دیتابیس) من دو جدول دارد که در جدول اول بدون هیچ خطایی می توان اطلاعات را تغییر داد ولی در جدول دوم است که فقط می توان اطلاعات به آن اضافه کرد و از تغییر دادن اطلاعات جلوگیری می کند.
 

Parham

Registered User
تاریخ عضویت
24 سپتامبر 2003
نوشته‌ها
1,042
لایک‌ها
2
یا تو جدول دوم هیچ فیلدی رو به عنوان Primary Key تعریف نکردید و یا اینکه Query که برای SelectCommand استفاده کرده اید فیلد PrimaryKey جدولتون رو Select نمیکنه. بنابراین بدون اون فیلد نمیتونه آپدیت کنه.
 

EbiPenMan

کاربر تازه وارد
تاریخ عضویت
11 آپریل 2005
نوشته‌ها
66
لایک‌ها
0
به نقل از Parham.G :
یا تو جدول دوم هیچ فیلدی رو به عنوان Primary Key تعریف نکردید و یا اینکه Query که برای SelectCommand استفاده کرده اید فیلد PrimaryKey جدولتون رو Select نمیکنه. بنابراین بدون اون فیلد نمیتونه آپدیت کنه.

آخه جدول اول من به وسیله یک فیلد که اون در جدول اول primey key هست به فیلی در جدول دوم وصل شده و یک ارتباط یک به بینهایت درست شده و برای همین نمیشه برای جدول دوم primery key تعیین کرد.
 

Parham

Registered User
تاریخ عضویت
24 سپتامبر 2003
نوشته‌ها
1,042
لایک‌ها
2
من فکر نمیکنم که Relation بین جدولها باعث بشه که نتونید برای جدولتون PrimaryKey تعریف کنید. به هر حال این اروری که شما دریافت می‌کنید دقیقا مربوط به همون موردی میشه که ذکر کردم و بدون PrimaryKay جدول آپدیت نمیشه. چون باید یک ریفرنس یکتایی وجود داشته باشه که بتونه برای آپدیت هر ردیف به اون مراجعه بشه.
 

saeedsmk

مدیر بازنشسته
تاریخ عضویت
6 سپتامبر 2003
نوشته‌ها
1,518
لایک‌ها
4
درست نفهميدم يعني مثلا توي جدول دومت يه سري اطلاعات داري كه مطلق به كد 5 ( يعني پرايمري كي 5 از جدول 1) و در جدول دومت ذخيره شده درسته اگه اين طوري كه :خوب يه پرايمري كي ايجاد كن كه هيچ وقت مصرف نشه يعني فقط براي اديت ازش مصرف كني نه براي لينك كردن دو جدولت به هم يا براي ايجاد ريليشن بين اونها
فكر كنم حل بشه
 

EbiPenMan

کاربر تازه وارد
تاریخ عضویت
11 آپریل 2005
نوشته‌ها
66
لایک‌ها
0
به نقل از saeedsmk :
درست نفهميدم يعني مثلا توي جدول دومت يه سري اطلاعات داري كه مطلق به كد 5 ( يعني پرايمري كي 5 از جدول 1) و در جدول دومت ذخيره شده درسته اگه اين طوري كه :خوب يه پرايمري كي ايجاد كن كه هيچ وقت مصرف نشه يعني فقط براي اديت ازش مصرف كني نه براي لينك كردن دو جدولت به هم يا براي ايجاد ريليشن بين اونها
فكر كنم حل بشه

آقا ایول دمت گرم . درست شد. یک فیلد بدون استفاده درست کردم و اون رو پرایمری کی کردم درست شد.

حال دادی و ممنون از همه;)
 

saeedsmk

مدیر بازنشسته
تاریخ عضویت
6 سپتامبر 2003
نوشته‌ها
1,518
لایک‌ها
4
خوشحال مشكلت حل شد
 
بالا