PDA

View Full Version : سوال: OBJECT REFERENCE NOT SET TO AN INSTANCE OF AN OBJECT



SAEEDDOE
چهارشنبه 14 تیر 1391, 15:37 عصر
با سلام
من این ایراد (OBJECT REFERENCE NOT SET TO AN INSTANCE OF AN OBJECT)رو موقع اجرا کدی که نوشتم دارم بیزحمت کسی راهنماییم کنه که این ایراد چرا و کی بوجود میاد و باید چکار کرد. چون این ایراد رو جاهای دیگه هم دارم.
ممنون.
فایل مربوط به این ایراد رو هم ضمیمه می کنم.

http://barnamenevis.org/images/editor/attach.png

youngold
چهارشنبه 14 تیر 1391, 15:53 عصر
اين ايراد مربوط به زماني است كه ابجكتي از اون refrence ساخته نشده باشه به عبارتي شي وجود نداره يا null هست و مقداري وجود نداره
در اين مواقع معمول ترين راه اينه كه شرطي بزاري كه اگر ابجكت شما ساخته نشده بود و خالي يود از اجراي كد و همه مقادير مربوط به اون شي صرف نظر كنه حالا تشخيص اينكه شرط رو براي چه اشيايي بزاري معمولاً بستگي به اين داره كدوم شي بسته به كارت امكان داره تعيين نشه

if (object != null)


مثلاً تو شرط بالا اگر شي خالي نبود كد اجرا ميشه

veniz2008
چهارشنبه 14 تیر 1391, 16:19 عصر
سلام، شما تو کد مربوط به select اشتباه نوشتید(البته عکسی که گذاشته بودی نصفه و نیمه بود) ولی کلا زمانی این اتفاق می افته که شما مثلا یک متغیر از نوع int تو جدول داری حالا میخوای مثل یه رشته باهاش برخورد کنی در این حالت برنامه خطای بالا رو میده ( اگر به خطا دقت کنید میگه که چیزی رو که ارجاع دادی و فرستادی، ست (هماهنگ) نیست با نمونه شی که داری.
من یه نمونه کد واستون میزارم، طبق این، کدتون رو اصلاح کنید(این کد رکوردهایی رو برمیگردونه که اول نامشون با textbox1 و اول فامیلشون با textbox2 شروع میشه):

SqlDataAdapter da = new SqlDataAdapter("SELECT * FROM student Where name Like N'%" + textBox1.Text.Trim() + "%' and family LIKE '%" + textBox2.Text.Trim() + "%'", con);
موفق باشید.

youngold
چهارشنبه 14 تیر 1391, 16:27 عصر
در ادامه فرمايش ايشون يادم رفت بگم در ايراد زماني كه مورد درخواستي شما از همون نوعي نباشه كه خواستيد هم پيش مياد كه مشابه همين حالتي هست كه ايشون گفتن يعني متغيير اينت هست شما رشته ازش ميخواي