PDA

View Full Version : مبتدی: چیکار کنم که textbox موقع خالی بودن 0 یا Null برگردونه ؟



taghiv
سه شنبه 31 خرداد 1390, 13:05 عصر
سلام
من یه برنامه دارم می نویسم که با sql ارتباط داره
یه سری فیلدها nvarchar هستن و یه سری int و tinyint
ورودی ها هم به صورت تکست باکس هستن
وقتی که تکست باکس خالیه ، مقدار خالی برمی گردونه ، و تو دستور اینسرت برای اونهایی که غیر رشته ای هستن مشکل ایجاد می کنه و اینسرت نمیشه
با وجودی که هیچکدوم هم اجباری نیستن
ولی وقتی اونهایی که خالین رو 0 وارد می کنم ، راحت اینسرت می شه.
چون تعداد فیلد ها خیلی زیاده ، سخته کاری کنم که فیلدهای خالی رو از دستور اینسرت حذف کنم.
سعی کردم از متد int.parse(textbox.text) استفاده کنم ، ولی جواب نداد.
امیدوارم درست تونسته باشم توضیح بدم.
با تشکر.

Esmail Solhkhah
سه شنبه 31 خرداد 1390, 13:18 عصر
private void textBox1_Leave(object sender, EventArgs e)
{
if (string.IsNullOrEmpty(textBox1.Text))
textBox1.Text = "0";
}

taghiv
سه شنبه 31 خرداد 1390, 13:38 عصر
ممنون
ولی مشکل اینه که وقتی تکست باکسها enable نیستن ، یا اگه کاربر روشون کلیک نکنه ، این راه حل جواب نمیده.
راه دیگه ای نیست؟

Esmail Solhkhah
سه شنبه 31 خرداد 1390, 13:55 عصر
با فرض اینکه تمای تکست باکسها رو گذاشتی تو یه پنل
قبل از ذخیره کردن اطلاعات در دیتابیس از متد زیر استفاده کن


private void SetTextBoxValuesCorrect()
{
foreach (Control ctrl in panel1.Controls)
{
if (ctrl is TextBox)
{
if (string.IsNullOrEmpty((ctrl as TextBox).Text))
(ctrl as TextBox).Text="0";
}
}
}