PDA

View Full Version : اگر executescalar مقدار null برگرشت داد چه باید کرد؟



Mahdi Fahmideh
سه شنبه 18 مرداد 1384, 23:30 عصر
با سلام این مسله رو چطوری میشه کنترل کرد؟چون اگهexecutescalar چیزی برگشت نده
عمل type cast هم به خطا میخوره.
int i=(int) frmDataBaseObjects.cmd.ExecuteScalar();

Mahdavi
سه شنبه 18 مرداد 1384, 23:39 عصر
سلام
یکی از راحترین هاش ریختن اون توی یه object و سپس مقایسه اون و استفاده از اونه :


object o = frmDataBaseObjects.cmd.ExecuteScalar();
if (o != null) int i = Convert.Toint(o);

Peyman_Ranjbar
چهارشنبه 19 مرداد 1384, 03:15 صبح
راه کم دردسر تری به نظرتون نمیرسه؟؟؟؟

Mahdi Fahmideh
چهارشنبه 19 مرداد 1384, 22:24 عصر
سپاسگزارم از لطفتون

in_the_rain
شنبه 12 خرداد 1386, 12:07 عصر
ببینید دوستان خروجی دوتا میتونه داشته باشه یکی null و یکی undefined value کسی میتونه بگه خروجی اسکالار اگه undefined باشه چه باید کرد

__H2__
شنبه 12 خرداد 1386, 12:40 عصر
سلام
خروجی ها میتوانند کلاً Null یا DBNull باشند و بهترین راه که سرعت را نگیرد همان راهی است که کاربر Mahdavi (http://www.barnamenevis.org/forum/member.php?u=84) از آن استفاده کردند.
شما میتوانید حالات فوق را تشخیص داده و مثلاً جایشان عدد صفر را قرار دهید یا خطای مناسب را نشان دهید.

PC2st
شنبه 12 خرداد 1386, 16:19 عصر
ببینید دوستان خروجی دوتا میتونه داشته باشه یکی null و یکی undefined value کسی میتونه بگه خروجی اسکالار اگه undefined باشه چه باید کرد
استفاده از Nullable Types البته برای Value Typeها مثل int ، float ، char و ... برای تعریف یک Nullable Type بعد از نوع داده، علامت ? رو قرار بدید. در اینصورت Value Type میتونه مقدار null هم داشته باشه که به معنای undefined برای int ، float یا ... خواهد بود.

SabaSabouhi
یک شنبه 13 خرداد 1386, 11:40 صبح
با سلام
مى‌شه این کار رو هم انجام داد:



string MyQuery = "SELECT ISNULL( Min( OrderID), 0) FROM Orders WHERE ...";
int MyOrderID = cmd.ExecuteScalar( MyQuery);



البته به شرطى که در جدول Orders مقدار صفر براى OrderID وجود نداشته باشه.

صبا صبوحى

Majid_Magsudfar
جمعه 15 آذر 1387, 13:06 عصر
سلام :چشمک:

انینجوری بنویسین بهتره:



int? i = SqlCommand.executeScaler(); // int? instead of int



:بامزه:

مهدی کرامتی
جمعه 15 آذر 1387, 13:49 عصر
بهترین کار همیشه اینه که قبل از استفاده از یک مقدار، صحت اون رو بررسی کنید.