PDA

View Full Version : مشکل در identity update و janus



وحید صابر
یک شنبه 05 شهریور 1385, 16:34 عصر
از آنجا که کاملا مطمئن نیستم سووالاتم دقیقا به کدامیک از تالار ها مربوط میشود، آنها را به دو سه تالار احتمالی پست میکنم. لطفا به آنها tag "نامرتبط بودن به موضوع تالار" نزنید.
سناریو:
1-من در حال تولید یک پایگاه داده ها با SQL-Server 2000 هستم. platform من vb.net است و جداول خود را بوسیله janus gridex مدیریت میکنم.
2- این پایگاه داده ها دارای 4 جدول به نامهای personal, passport,visa, ticket است که جدول personal در janus gridex designer به عنوانroot table و مابقی child table های آن تعریف شده اند.
3-نمایش جداول به صورت hierarchy است و با اضافه شدن یک رکورد(سطر) به جدول personal, رکوردهای متناظر ان توسط یک trigger در دیگر جداول ایجاد میگردند.
4-تعداد 4 data adapter یکی برای هر جدول و یک dataset برای کل جداول در فرم من تعبیه شده است. در dataset ، من با ایجاد 3 relation جدول personal را از طریق ستون های id به سه جدول دیگر ربط داده ام.
5-جدول personal دارای یک ستون به نام id و از نوع identity است که ضمن افزایش خودکار مقدارش هنگام افزایش رکوردها بالطبع نقش کلید اصلی را در هر 4 جدول ایفا میکند( identity فقط در جدول personal تعریف شده ).

مشکل:
1-بمنظور تست برنامه ، من بطور دستی رکورد هایی خالی را در جداول ایجاد کرده ام که فقط ستون کلید اصلی آنها بطور خودکار پر شده است. این رکوردها در janus gridex به نمایش در میآیند ولی با ایجاد تغییر در رکوردها(مثلا پر کردن خانه های خالی) و فراخوانی تابع update ، در dataset ، try---catchبرنامه من یک error در به روز رسانی(update) ستون id جدول personal میدهد در حالی که من اصلا قصد تغییر آن ستون را نداشته ام و صرفا دیگر ستون های یک رکورد(سطر) را تغییر داده و قصد update کردن تغییرات را داشتم. وقتی identity را از ستون id برمیدارم، update به درستی انجام میشود. لطفا برای حل مشکل راهنمایی ام کنید.

2-در gridex designer در جدول personal به گزینه allowaddnew مقدار true داده ام تا بتوانم رکورد جدید اضافه کنم. انتظار داشتم با اضافه کردن رکورد جدید, 3 جدول دیگر(child ها) هم بصورت hierarchy نمایش داده شوند ولی اینطور نشد. چطور میتوانم به این هدف برسم؟