PDA

View Full Version : سوال: ارور موقع برگرداندن مقدار Null از دیتابیس



mbasirati
سه شنبه 25 آذر 1393, 20:03 عصر
سلام
من یه گریدویو دارم که فیلداش بایند شده به دیتابیس. یکی از فیلدهاش تاریخه که قبل از نمایش فرستاده میشه به یه تابع و تاریخ شمسی رو به دست میاره و نمایش میده. مشکل اینجاس که وقتی اون فیلد مقدارش null باشه خطا میده و من میخوام یه جوری توی خود صفحه Aspx این رو مدیریت کنم.
چه جوری این کار ممکنه؟

<asp:TemplateField HeaderText="تاریخ سفارش">
<ItemTemplate>
<%# General.convertDate(Convert.ToDateTime(Eval("DateShipped")))%>
</ItemTemplate>
</asp:TemplateField>

fakhravari
سه شنبه 25 آذر 1393, 22:43 عصر
General.convertDate یک کلاس که چک کنید اگه null خروجی --- بیاد

mbasirati
چهارشنبه 26 آذر 1393, 19:29 عصر
General.convertDate یک کلاس که چک کنید اگه null خروجی --- بیاد

مشکل از اینجا نیس. ارور رو به Convert.ToDateTime میده. میگه نمیتونم null رو تبدیل کنم.

ahmad156
پنج شنبه 27 آذر 1393, 20:25 عصر
اول از همه مقدار Null داخل دیتابیس یه عادت بد برنامه نویسی هست.یعنی مقادیر داخل دیتابیس یا مقدار داشته باشند یا مقدار پیش فرض به غیر از Null رو باید داشته باشند.
در هر صورت:

<%# !string.IsNullOrEmpty(Eval("DateShipped") as string)?General.convertDate(Convert.ToDateTime(Eva l("DateShipped"))):"فاقد تاریخ"%>

fakhravari
پنج شنبه 27 آذر 1393, 20:35 عصر
متد خروجیش string با if که راحت میشه چک کرد چه داده ای داریم میدیم به تابع

alizanganeh
شنبه 29 آذر 1393, 09:50 صبح
خوب توی اون تابع بگو اگر مقدار null نبود تبدیل رو انجام بده دیگه

skflower
چهارشنبه 08 مهر 1394, 22:07 عصر
آیا تو خوده SQL میشه هنگام select کردن، بگیم که اگر مقدار NULL بود بجاش یه مقدار دیگه برگردونه؟

arash21hhhh
پنج شنبه 09 مهر 1394, 08:34 صبح
بله خیلی راحت .
select isnull(sum(x),0)
اگه مجموع null بشه خروجی 0 میده