PDA

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



sg.programmer
پنج شنبه 26 فروردین 1395, 12:09 عصر
سلام این دستور چرا در بلوک X خطای بالا را میده . در اسکیوال تست کردم خروجی داره مشکلی نداره - مقدار vosId را هم تست کردم اونم مقدار داره. وقتی شرط where را از بلوک x بر میدام درست میشه.
در ضمن بلوک y درست عمل میکنه.



else if (vosCheking == "x")
{

cmd.CommandText = "SELECT TOP 1 [bazSubject] from [t_Baz] Where [vosId] = " + vosIds.ToString();
txt = (cmd.ExecuteScalar() != DBNull.Value ? cmd.ExecuteScalar().ToString() : "-");
}
else if (vosCheking == "y")
{

cmd.CommandText = "SELECT TOP 1 [Type] from [t_Par] Where [vosId] = " + vosIds.ToString() + " AND parType = N'ToY' ";
txt = (cmd.ExecuteScalar() != DBNull.Value ? cmd.ExecuteScalar().ToString() : "-");
}






مقدار vosId هم از طریق TemplateField از گرید وارد تابع میشه و خروجی تابع به گرید انتقال پیدا میکنه.



<asp:TemplateField HeaderText="آخرین رویداد" >
<ItemTemplate>
<a href="#"> <%#FindTEventINSQL(Eval("vosStatus"),Eval("vosId")) %> </a>
</ItemTemplate>
</asp:TemplateField>

sg.programmer
پنج شنبه 26 فروردین 1395, 12:11 عصر
تست کردم چون تعدادی از سطرهای جدول هیچ مقداری نداره و null هست این خطا را صادر میکنه. چطوری باید رفع کرد؟
من این شرط را گذاشتم انگار تاثیر نداره؟؟؟؟؟

cmd.ExecuteScalar() != DBNull.Value ? cmd.ExecuteScalar().ToString() : "-"