سلام این دستور چرا در بلوک 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>
تست کردم چون تعدادی از سطرهای جدول هیچ مقداری نداره و null هست این خطا را صادر میکنه. چطوری باید رفع کرد؟
من این شرط را گذاشتم انگار تاثیر نداره؟؟؟؟؟
cmd.ExecuteScalar() != DBNull.Value ? cmd.ExecuteScalar().ToString() : "-"
هیچ کاربری تا کنون از این پست تشکر نکرده است
با ما تماس بگیرید تا در این مسیر همراهتان باشیم :)