PDA

View Full Version : مبتدی: خطای Object reference not set to an instance of an object.



delphi5
چهارشنبه 19 مرداد 1390, 10:50 صبح
سلام
من مبتدی هستم .
در مورد این مشکل خیلی جستجو کردم ولی نتیجه نگرفتم . میشه لطفا راهنمائی بفرمائید .



کد من


private


void radGridView1_DoubleClick(object sender, EventArgs e)

{
string str = "hello";

radTextBox2.Text = radGridView1.CurrentRow.Cells[

"Name"].Value.ToString();
str =

Convert.ToString(radGridView1.CurrentRow.Cells["id"].Value);
}



روی خط زیر این خطا رو میده .


str =

Convert.ToString(radGridView1.CurrentRow.Cells["id"].Value);


توی این برنامه من ابتدا یک radgridviwe رو روی فرمم ایجاد کردم و یک dataset براش ایجاد کردم . الان زمانی که برنامه رو اجرا میکنم دیتا هم توی گرید وجود داره و خط اول که مقدار name رو بر میگردونه مشکل نداره اما خط دوم که مقدار id رو بر میگردونه به مشکل بر میخوره .
اساتید محترم لطفا راهنمائی بفرمائید
متشکرم

k_ce_esf
چهارشنبه 19 مرداد 1390, 11:48 صبح
اگه قبل از خط
str =

Convert.ToString(radGridView1.CurrentRow.Cells["id"].Value);
چک کنید که اگه این مقدار null نیست این دستور را اجرا کن احتمالا مشکل حل میشه،به این صورت که قبل از این خط این خط کد را بنویسین:
if(radGridView1.CurrentRow.Cells["id"].Value != null

delphi5
پنج شنبه 20 مرداد 1390, 09:26 صبح
خیلی جالبه
با اینکه این شرطی رو که فرمودید گذاشتم اما دوباره به همین خط شرط دقیقا خطای ذکر شده میده . یعنی اینکه ربطی به null بودن نداره .



private void radGridView1_DoubleClick(object sender, EventArgs e)

{

string str = "";

radTextBox2.Text = radGridView1.CurrentRow.Cells[

"Name"].Value.ToString();

if (radGridView1.CurrentRow.Cells["id"].Value != null)

{

str =

Convert.ToString(radGridView1.CurrentRow.Cells["id"].Value);

}




}

میشه راهنمائی کنید
لازم به ذکره که مطمئا null نیست چون دیتابیس ام نمیتونه خالی باشه و همچنین این رویداد روی دابل لیک داره کار میکنه .
حتما توی اون سلول یه مقدار هست

delphi5
پنج شنبه 20 مرداد 1390, 09:50 صبح
مشکل حل شد .
متوجه شدم که نام column که مقدار id رو داره column1 است .