PDA

View Full Version : دادن مقدار null به پایگاه داده در #c



sajadhz
دوشنبه 06 شهریور 1391, 08:45 صبح
می خوام text های خالی را یا مقدار null به پایگاه داده بفرستم هم int هم string هر کاری می کنم نمیشه؟

nima.sh
دوشنبه 06 شهریور 1391, 09:02 صبح
میتونی همه ی کنترل ها رو با for each طی کنی،بعد یه شرط بذاری که هر کدوم خالی بود مقدار "" یا 0 بدی...
موفق باشی....

Arash_janusV3
دوشنبه 06 شهریور 1391, 09:17 صبح
برای int

int? value = 0;
value = null;

hakim22
دوشنبه 06 شهریور 1391, 11:01 صبح
با تشکر از آرش برای استفاده از مقادیر Null در انواع پیش ساخته متغیر باید علامت ؟ را اضافه کنید تا متغیر از نوع nullable تشکیل بشه.

sajadhz
چهارشنبه 08 شهریور 1391, 07:45 صبح
این کار رو کردم نشد

Arash_janusV3
چهارشنبه 08 شهریور 1391, 07:50 صبح
این کار رو کردم نشد

کدتون را بگذارید

sajadhz
چهارشنبه 08 شهریور 1391, 08:02 صبح
می خواهم وقتی که text خالی بود مقدار null فرستاده بشهocommand.Parameters.AddWithValue("@id_h", textBox6.Text);

sajadhz
چهارشنبه 08 شهریور 1391, 08:04 صبح
ocommand.Parameters.AddWithValue("@id_h", textBox6.Text);

Arash_janusV3
چهارشنبه 08 شهریور 1391, 08:14 صبح
string str = "";
if (textBox1.Text == "")
{
str = null;
}
else
{
str = textBox1.Text;
}

ocommand.Parameters.AddWithValue("@id_h", str);

sajadhz
چهارشنبه 08 شهریور 1391, 08:31 صبح
خطای حین اجرا
expects the parameter '@id_h', which was not supplied.

hakim22
چهارشنبه 08 شهریور 1391, 08:33 صبح
مطمئن هستید که در دیتابیس این فیلد داده Nullable است !؟

sajadhz
چهارشنبه 08 شهریور 1391, 08:38 صبح
آره وقتی دستور sql مستقیم می دم null میشه اما وقتی بصورت پچ لودر میدم نمیتونه مقدار null بگیره

sajadhz
چهارشنبه 08 شهریور 1391, 08:39 صبح
ocommand.CommandText = "INSERT INTO bar"
+ "(id_b,date_b,fact,type,com_b,tot_b,id_h,id_p)value s"
+ "(@id_b,@date_b,@fact,@type,@com_b,@tot_b,@id_h,@id _p)";

hamidkh
چهارشنبه 08 شهریور 1391, 08:44 صبح
if(!string.IsNullOrEmpty(textBox1.Text))
cmd.Parameters.Add("id_p", SqlDbType.VarChar).Value = textBox1.Text;
else
cmd.Parameters.Add("id_p", SqlDbType.VarChar).Value = Convert.DBNull;

sajadhz
چهارشنبه 08 شهریور 1391, 08:50 صبح
مرسی درست شد برای int هم جواب می ده

ehsan7007
چهارشنبه 08 شهریور 1391, 08:51 صبح
من 20 تا تکست باکس دارم ، حالا برای هر کدوم باید اینکار رو بکنم؟؟؟؟!!!!!:متعجب:

sajadhz
چهارشنبه 08 شهریور 1391, 08:57 صبح
راستی اگه میشه یک توضیح کوچک درباره کد بدی ممنون می شم

sajadhz
چهارشنبه 08 شهریور 1391, 08:59 صبح
راه دیگی ای بلدی

hamidkh
چهارشنبه 08 شهریور 1391, 09:30 صبح
برای فرستادن مقدار null توی دیتابیس فقط همین راه رو بلدم و جواب داده تاحالا.