PDA

View Full Version : سوال: ارور هنگام اجراي برنامه و عدم نمايش ركورد



MOR_MS
دوشنبه 13 شهریور 1391, 01:21 صبح
باسلام
من توي اس كيو ال يك ويو ساختم كه درست كار ميكنه و تمام اطلاعات را نشون ميده ولي وقتي از توي برنامه اجراش ميكنم اين اروري كه ضميمه كردم را ميده
با استفاده از linq هم همين ارور را ميده
دوستان اگه ممكنه راهنمايي كننده چكار بايد انجام بده و اگه ممكنه در رابطه با ساخت ويو در اس كيو ال با چهار جدول و بيشتر راهنمايي كنيد
92265

r. salehi
دوشنبه 13 شهریور 1391, 13:50 عصر
سلام
در خصوص اینکه با چه متدی اطلاعات را از بانک SQL بیرون میکشید توضیحی ندادید. من چون قبلا با این مشکل مواجه شدم مطالبی را عرض خواهم کرد. امیدوارم مشکل شما هم باشه.
1-ممکنه View که در SQL تعریف کرده اید دارای فیلدی با کلید اصلی از یکی از جداول باشد اما ساختار view به نحوی باشد که در زمان واکشی داده ها از جدول یک سری داده تکراری در فیلد کلید اصلی ایجاد کند. در چنین حالتی ممکنه با این خطا مواجه بشید. پس کنترل کنید که View در فیلد کلیددار داده تکراری برنگردونه.
3-یکی از احتمالات دیگه اینه که شما View خودتون را از چند جدول تهیه کرده باشید که یکی از فیلدهای جداول اصلی تشکیل دهنده View امکان AllowNull نداشته باشد اما در view که متشکل از چند جدول با ارتباطاتی خاص است برای ان فیلد بخصوص رکوردهای null ایجاد شود. پس لازمه این گزینه را هم کنترل کنید که در view فیلدهای کلیددار و یا انهایی که مجاز به داشتن مقدار null نیستند مقدار null قرارنگیرد
2-اگر در ساختار برنامه از DataSet استفاده کردید. باید متد مواجه با خانه های Null جدول را چک کنید. در حالت عادی این تنظیمات روی Exception تنظم شده و اگر شما قصد پرکردن کنترلی مثل یک DataGridView را داشته باشید و فکری هم برای Execption نکرده باشید با خطا مواجه خواهد شد. برای اجتناب از این مورد دیتاست خودتون را بازکنید و روی تک تک فیلدها کلیک کنید و در پنجره Property گزینه NullValue را چک کنید. برای فیلدهای متنی مقدار Empty و برای مقادیر عددی مقدار صفر را برای تمام فیلدها تنظیم کنید.
امیدوارم این موارد مشکل شما را حل کنه.
پیروز باشید