ورود

View Full Version : عدم ذخيره رکوردهاي غير تکراري بعد از پيغام خطا



armm1388
چهارشنبه 12 خرداد 1389, 08:02 صبح
- بعد از fill کردن يک ديتاست ، چند رکورد را به جدول آن اضافه مي کنيم . فرض کنيد يکي از اين رکوردها تکراري باشد (کليد اصلي) هنگامي که دستور update را اجرا مي کنيم به رکورد تکراري که مي رسد پيغام خطا مي دهد و رکوردهاي بعد از آنرا که تکراري نيستند در بانک اصلي ذخيره نمي کند چرا؟ آيا مي توان قبل از اعمال به بانک اصلي يعني هنگام افزودن رکورد به جدول ديتاست ، همانجا جلوي افزودن رکورد را گرفت؟ آيا متد fill مشخصات کليد اصلي بودن فيلد را به حافظه لود نمي کند تا پيشاپيش جلوي ثبت رکورد تکراري را گرفت؟

ashkan209
پنج شنبه 13 خرداد 1389, 08:45 صبح
این رفتار مربوط به Ado نیست ، بلکه هشدار مورد نظر شما از طرف Databse Engine صادر میشه و تراکنش را Commit نمی کنه و واضحه که این عکس العمل منطقی بنظر میاد .
برای کنترل تکراری بودن رکورد و یا هر کنترل دیگر ، وظیفه پروگرامر هست که در محیط برنامه اش این هشدارها و ... را پیش بینی کرده و از طریق کد نویسی هندلینگ لازم را طراحی کند .