PDA

View Full Version : null درمقابل ""



Himalaya
شنبه 12 مرداد 1387, 16:53 عصر
سلام ... من از طریق datareader اطلاعات دیتابیس رو میخونم و میخوام هر جا که مقدار یکی از ستونهام null بود مثلا یک لیبل دیده نشه ...


if (reader.getvalue(0) != dbnull.values)
.....

تو دفعه اول که دیتابیس رو تازه ایجاد کرده بودم و یک سری از خانه هارو دستی تو بار اول پر نکردم همه چیز درست بود و به ازای این خونه ها لیبل اونو نشون نمیداد ... ولی من باید
از طریق برنامه خودم اون ستون رو بتونم پر کنم یا برابر null بزارم ... وقتی که پره همه چیز درسته ولی وقتی با "" اونو برابر null قرار میدم لیبل رو نشون میده و فکر میکنه دیتابیس پره
در حالی که تو دیتابیس تو اون فیلد(فیلدی که مربوط به اون لیبل هستش)هیچی نیست.
میخوام بدونم "" با null فرق میکنه و اگه آره پس من واسه اینکه تو دیتابیس واقعا null وارد کنم باید چیکار کنم ؟ میشه از خود کلمه null استفاده کرد ؟؟؟ ممنون

ASKaffash
شنبه 12 مرداد 1387, 17:03 عصر
سلام
فرق میکند . اولی یک رشته خالی است و دومی واقعا null است :


GDR["F"]=null;

alimh123
شنبه 12 مرداد 1387, 17:30 عصر
بله. برای درج در جدول باید از خود کلمه NULL استفاده کنی.

mostafa_sgh
شنبه 12 مرداد 1387, 17:31 عصر
تو اینکه (هیچی )NULL با Empty(خالی ) فرق میکنه شکی درش نیست .
ولی برای حل این موضوع به جای دستور بالا از این دستور استفاده کن :


if (!string.IsNullOrEmpty(reader.getvalue(0).ToString ()))
.....

iman_s52
شنبه 12 مرداد 1387, 17:48 عصر
بله. برای درج در جدول باید از خود کلمه NULL استفاده کنی.

بله ؟؟؟
ميشه يه كم بيشتر توضيح بدين منظورتونو؟؟؟؟؟؟؟؟

علیرضا مداح
شنبه 12 مرداد 1387, 18:16 عصر
سلام دوست عزیز ،
شیء SqlDatareader و سایر کلاسهایی که اینترفیس IDataReader را پیاده سازی میکنند ، دارای متدی به نام IsDBNull جهت چک کردن Null بودن مقادیر ثبت شده در دیتابیس میباشند ،/

alimh123
یک شنبه 13 مرداد 1387, 08:37 صبح
بله ؟؟؟
ميشه يه كم بيشتر توضيح بدين منظورتونو؟؟؟؟؟؟؟؟



INSERT INTO TableName
(f1, f2) VALUES (NULL,NULL)با استفاده از خود کلمه NULL در هنگام درج در دیتابیس مقدار واقعی برابر NULL قرار می گیرد.

سار
یک شنبه 13 مرداد 1387, 08:42 صبح
من هم گفته آقای مداح را پیشنهاد می کنم

iman_s52
سه شنبه 15 مرداد 1387, 08:40 صبح
INSERT INTO TableName
(f1, f2) VALUES (NULL,NULL)با استفاده از خود کلمه NULL در هنگام درج در دیتابیس مقدار واقعی برابر NULL قرار می گیرد.
فكر كنم اگه فيلدي اگه براش مقدار Default Value تعريف نشده باشه نيازي به اينكارهم نباشه ؟؟؟؟؟؟