PDA

View Full Version : error به هنگام بایند گریدویو



AftaB66
دوشنبه 04 مرداد 1389, 07:47 صبح
سلام .
من یک گریدویو (devExpress)دارم که به یک dataSet دارای دو DataTable است که دارای ارتباط (کلید خارجی) هستند، بایند شده . وقتی روی باتن مربوطه برای پر کردن گرید دوبار پشت سر هم (بار اول درست کار میکنه!!)کلیک می کنم این error رو میده:
Failed to enable constraints. One or more rows contain values violating non-null, unique, or foreign-key constraints.
البته سرچی که کردم مشکل رو در رابطه با MaxLength مربوط به ستون های dataTable می دونست که اونها رو هم بالا بردم ولی حل نشد .لطفا راهنماییم کنید.
مرسی

peikesms123
دوشنبه 04 مرداد 1389, 09:22 صبح
اگه لطف کنی و بیشتر توضیح بدی ممنون میشم و اگه میتونی خود برنامه را قرار بده.

AftaB66
دوشنبه 04 مرداد 1389, 11:00 صبح
آخه برنامه اش حجمش بالاست.
من dataTable های datasetای که به گریدم بایند کردم رو دستی ستون دادم و ارتباط بینشون رو برقرار کردم(همون ارتباطی که تو دیتابیس بین دو جدول مربوطه برقراره).
حالا وقتی اجرا می کنم گرید برا بار اول درست پر میشه (به صورت Master_Detail) ولی برا بار دوم که باتن مربوطه رو می زنم این اررور رو میده!!!!
Failed to enable constraints. One or more rows contain values violating non-null, unique, or foreign-key constraints.

AftaB66
پنج شنبه 07 مرداد 1389, 11:34 صبح
سلام.کسی نتونست منو راهنمایی کنه؟؟!!

peikesms123
پنج شنبه 07 مرداد 1389, 11:55 صبح
این خطا یعنی:
یک یا چند سطر بدون ارزش (خالی)، تکراری و یا نیاز به کلید خارجی دارند.
قبل از اعمال دستورات یکبار dataset یا dataTable مورد نظر را خالی کنید شاید جواب گرفتید. با این توضیحات فقط در همین حد میتونم کمکتون کنم چون خودم تا حالا با این مشکل بر نخوردم.

javad_r_85
جمعه 08 مرداد 1389, 09:21 صبح
سلام .
من یک گریدویو (devExpress)دارم که به یک dataSet دارای دو DataTable است که دارای ارتباط (کلید خارجی) هستند، بایند شده . وقتی روی باتن مربوطه برای پر کردن گرید دوبار پشت سر هم (بار اول درست کار میکنه!!)کلیک می کنم این error رو میده:
Failed to enable constraints. One or more rows contain values violating non-null, unique, or foreign-key constraints.
البته سرچی که کردم مشکل رو در رابطه با MaxLength مربوط به ستون های dataTable می دونست که اونها رو هم بالا بردم ولی حل نشد .لطفا راهنماییم کنید.
مرسی



از این کد استفاده کن.



devExpress.DataBindings.Clear();
devExpress.DataBindings.Add(new Binding("datasource", ds, "table1")); //a


در اینجا ds نام دیتا ست و به جای tabelنام جدول را بنویسید .datasource را نباید دست بزنید.

AftaB66
شنبه 09 مرداد 1389, 08:14 صبح
سلام. متشکر از javad_r_85 و peikesms123

از راه حل شما peikesms123 استفاده کردم .دیتاست رو خالی کردم مشکل حل شد . و دیگه با پشت سر هم بایند کردن گرید این مشکل بوجود نمیاد.بله به نظر همن تداخل در پر کردن کلیدخارجی باشه.

devExpress.DataBindings.Clear();
devExpress.DataBindings.Add(new Binding("datasource", ds, "table1")); //a
ولی من منظور از کدتون رو نفهمیدم . این کد رو نوشتم ولی کتابخونه هاش رو پیدا نکرد.!
بازم ممنون