نمایش نتایج 1 تا 5 از 5

نام تاپیک: ذخیره Radio Button در دیتابیس اس کیو ال اکسپرس

  1. #1
    کاربر دائمی آواتار booysusa
    تاریخ عضویت
    شهریور 1391
    محل زندگی
    ایران سرای من است
    پست
    174

    Question ذخیره Radio Button در دیتابیس اس کیو ال اکسپرس

    با درود خدمت همه دوستان و مهندسین عزیز

    میخوام Radio Button ذخیره کنم در دیتابیس ولی شیوه ذخیره اون رو نمیدونم
    لطفا راهنمایی کنید

    تو انجمن گشتم دیدم تو یه پستی در موردش صحبت شده بود ولی متوجه نشدم
    لینکش


    میخوام در برنامه جنیست رو از طریق یکی از دو گزینه مرد یا زن انتخاب کنم



    و سوال دومم، اینجا در دیتابیس، نوع داده رو چی انتخاب کنم؟




    مشخصات:
    ویژال استودیو
    سی شارپ
    اس کیو ال اکسپرس

  2. #2
    کاربر دائمی
    تاریخ عضویت
    اردیبهشت 1390
    محل زندگی
    چند قدم اون ور تر
    پست
    1,731

    نقل قول: ذخیره Radio Button در دیتابیس اس کیو ال اکسپرس

    سلام
    نوع داده در دیتابیس bit هست چون دو حالت داریم یا زن یا مرد.(اگه ترو بود مرد و اگه فالس بود زن)
    ذخیره در ADO:
    if(mard.Checked)
    cmd.Parameters.AddWithValue("@nameField", true);
    else//if(zan.Checked)
    cmd.Parameters.AddWithValue("@nameField", false);

    موقع دریافت از دیتابیس هم اگه مقدار فیلد داخل دیتابیس ترو بود یعنی مرد و اگه فالس بود یعنی زن. (یعنی اگه ترو بود رادیو باتن اولی رو انتخاب می کنی و اگه فالس بود رادیو باتن دومی)
    if(Convert.ToBoolean(dt.Rows[0]["nameField"]))
    mard.Checked=true;
    else
    zan.Checked=true;
    آخرین ویرایش به وسیله Mahmoud Zaad : پنج شنبه 16 اسفند 1397 در 08:49 صبح دلیل: اشتباها به جای رادیو باتن نوشته بودم چک باکس!

  3. #3
    کاربر دائمی آواتار booysusa
    تاریخ عضویت
    شهریور 1391
    محل زندگی
    ایران سرای من است
    پست
    174

    نقل قول: ذخیره Radio Button در دیتابیس اس کیو ال اکسپرس

    نقل قول نوشته شده توسط Mahmoud Zaad مشاهده تاپیک
    سلام
    نوع داده در دیتابیس bit هست چون دو حالت داریم یا زن یا مرد.(اگه ترو بود مرد و اگه فالس بود زن)
    ذخیره در ADO:
    if(mard.Checked)
    cmd.Parameters.AddWithValue("@nameField", true);
    else//if(zan.Checked)
    cmd.Parameters.AddWithValue("@nameField", false);

    موقع دریافت از دیتابیس هم اگه مقدار فیلد داخل دیتابیس ترو بود یعنی مرد و اگه فالس بود یعنی زن. (یعنی اگه ترو بود چک باکس اولی رو انتخاب می کنی و اگه فالس بود چک باکس دومی)
    if(Convert.ToBoolean(dt.Rows[0]["nameField"]))
    mard.Checked=true;
    else
    zan.Checked=true;

    سپاسگزارم
    به نحوی که شما گفتید ساختمش





    اگر چک باکس بود چطور باید داده را در دیتابیس انتخاب کنم و در کد نویسی ذخیره کنم؟
    و همچنین اگر کمبوباکس بود چطور باید داده را در دیتابیس انتخاب کنم و در کد نویسی ذخیره کنم؟

    پایگاه داده من اس کیو ال اکسپرس هست
    آخرین ویرایش به وسیله booysusa : چهارشنبه 15 اسفند 1397 در 20:40 عصر دلیل: تکمیل پست

  4. #4
    کاربر دائمی
    تاریخ عضویت
    اردیبهشت 1390
    محل زندگی
    چند قدم اون ور تر
    پست
    1,731

    نقل قول: ذخیره Radio Button در دیتابیس اس کیو ال اکسپرس

    چک باکس هم به همین روش میشه. یعنی برای هر چک باکس یه فیلد در دیتابیس داریم و اگر چک باکس تیک داشت true ذخیره میشه و اگر نداشت false ذخیره می شه. در موقع دریافت اطلاعات هم اگر مقدار در دیتابیس true بود چک باکس رو تیک می زنید و اگر false بود بدون تیک می مونه.(یا تیکش رو بر می دارید.)

    البته برای انتخاب نوع داده هیچ اجباری هم در کار نیست شما می تونید نوع داده ای رو varchar یا nvarchar یا int یا smallint هم انتخاب کنید و اگر چک باکس/رادیو باتن تیک داشت عدد 1 رو ذخیره کنید و اگه تیک نداشت 0 رو ذخیره کنید. ولی نوع داده ای استاندارد برای این کارها همین bit هست.
    -------
    کمبوباکس بستگی داره که اطلاعاتش از کجا میاد. شما همیشه باید به این فکر کنید که تا جایی که ممکنه کمترین حجم داده رو ذخیره کنید و اگر لازم بود داده ای رو به هر دلیلی (مثلا اشتباه تایپی) تغییر بدید، با کمترین هزینه این کار رو انجام بدید. (منظور هزینه مالی نیست منظور کمترین دردسر و کدنویسی و زمان و ... هست)
    مثلا فرض کنید شما همین مرد یا زن بودن رو میخواید از کمبوباکس بگیرید. 2 راه وجود داره یا اینکه یه فیلد nvarchar در دیتابیس تعریف کنید و اگر کاربر مرد رو انتخاب کنید کلمه مرد رو ذخیره کنید و اگه زن رو انتخاب کرد کلمه زن رو ذخیره کنید. حالا مثلا فرض کنید نرم افزار در حال استفاده است و شما متوجه می شید مرد رو "مرذ" نوشتید. حالا باید برید در دیتابیس کل کلمات رو پیدا کنید و تغییر بدید.
    اما راه دوم و صحیح، استفاده از فیلد از نوع bit هست. حالا اگه اشتباه تایپی هم در نرم افزار باشه به راحتی فقط نرم افزار رو تغییر می دید و مشکل حل میشه.

    یک حالت دیگه اینه که کمبوباکس به یه جدول بایند هست که در اینجا باید id این جدول در جداول دیگه ذخیره بشه.
    آخرین ویرایش به وسیله Mahmoud Zaad : چهارشنبه 15 اسفند 1397 در 21:18 عصر

  5. #5
    کاربر دائمی آواتار booysusa
    تاریخ عضویت
    شهریور 1391
    محل زندگی
    ایران سرای من است
    پست
    174

    نقل قول: ذخیره Radio Button در دیتابیس اس کیو ال اکسپرس

    نقل قول نوشته شده توسط Mahmoud Zaad مشاهده تاپیک
    چک باکس هم به همین روش میشه. یعنی برای هر چک باکس یه فیلد در دیتابیس داریم و اگر چک باکس تیک داشت true ذخیره میشه و اگر نداشت false ذخیره می شه. در موقع دریافت اطلاعات هم اگر مقدار در دیتابیس true بود چک باکس رو تیک می زنید و اگر false بود بدون تیک می مونه.(یا تیکش رو بر می دارید.)

    البته برای انتخاب نوع داده هیچ اجباری هم در کار نیست شما می تونید نوع داده ای رو varchar یا nvarchar یا int یا smallint هم انتخاب کنید و اگر چک باکس/رادیو باتن تیک داشت عدد 1 رو ذخیره کنید و اگه تیک نداشت 0 رو ذخیره کنید. ولی نوع داده ای استاندارد برای این کارها همین bit هست.
    -------
    کمبوباکس بستگی داره که اطلاعاتش از کجا میاد. شما همیشه باید به این فکر کنید که تا جایی که ممکنه کمترین حجم داده رو ذخیره کنید و اگر لازم بود داده ای رو به هر دلیلی (مثلا اشتباه تایپی) تغییر بدید، با کمترین هزینه این کار رو انجام بدید. (منظور هزینه مالی نیست منظور کمترین دردسر و کدنویسی و زمان و ... هست)
    مثلا فرض کنید شما همین مرد یا زن بودن رو میخواید از کمبوباکس بگیرید. 2 راه وجود داره یا اینکه یه فیلد nvarchar در دیتابیس تعریف کنید و اگر کاربر مرد رو انتخاب کنید کلمه مرد رو ذخیره کنید و اگه زن رو انتخاب کرد کلمه زن رو ذخیره کنید. حالا مثلا فرض کنید نرم افزار در حال استفاده است و شما متوجه می شید مرد رو "مرذ" نوشتید. حالا باید برید در دیتابیس کل کلمات رو پیدا کنید و تغییر بدید.
    اما راه دوم و صحیح، استفاده از فیلد از نوع bit هست. حالا اگه اشتباه تایپی هم در نرم افزار باشه به راحتی فقط نرم افزار رو تغییر می دید و مشکل حل میشه.

    یک حالت دیگه اینه که کمبوباکس به یه جدول بایند هست که در اینجا باید id این جدول در جداول دیگه ذخیره بشه.

    بی نهایت سپاسگزارم
    بله نگرانی هزینه بردار بودن در آینده رو هم داشتم

تاپیک های مشابه

  1. سوال: مقادیر radio button ها را چطور در دیتابیس ذخیره کنیم بهتر است؟
    نوشته شده توسط hercool در بخش C#‎‎
    پاسخ: 1
    آخرین پست: سه شنبه 05 اسفند 1393, 21:19 عصر
  2. سوال: فرستادradio button به دیتابیس
    نوشته شده توسط sara.saba90 در بخش PHP
    پاسخ: 1
    آخرین پست: شنبه 24 اسفند 1392, 17:08 عصر
  3. سوال: درج radio button در دیتابیس
    نوشته شده توسط m.batimar در بخش C#‎‎
    پاسخ: 5
    آخرین پست: پنج شنبه 10 بهمن 1392, 11:22 صبح
  4. ارتباط radio button با دیتابیس
    نوشته شده توسط gilaseabi در بخش C#‎‎
    پاسخ: 1
    آخرین پست: شنبه 10 فروردین 1392, 11:14 صبح

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •