اتصال combobox به دیتابیس در #c + ویدیو

ارسال شده توسط: حسین درویشی Comments: 15

اتصال combobox به دیتابیس در #c + ویدیو

گاهی مواقع نیاز است تا اطلاعات یک ستون از دیتابیس را در combobox نمایش دهید برای چنین منظوری باید combobox را به دیتابیس اتصال دهید.

نحوه اتصال combobox به دیتابیس در C#

برای اینکارباید یک کوئری به دیتابیس بزنید و سپس نتیجه را با استفاده از حلقه for در به آیتم های آن اضافه کنید.


مثال زیر را از دیتابیس در نظر بگیرید

 اتصال combobox به دیتابیس در C#

می خواهیم ستون UserName را در combobox نمایش دهیم. برای اینکار ابتدا با استفاده از دستورات زیر ستون UserName را از جدول User می خوانیم

            SqlConnection conn = new SqlConnection("Data Source=localhost;Initial Catalog=db_user;Integrated Security=True");
string query = "SELECT UserName FROM [User]";
SqlCommand cmd = new SqlCommand(query,conn);
SqlDataAdapter sda = new SqlDataAdapter(cmd);
DataTable dt = new DataTable();
sda.Fill(dt);
conn.Open();
cmd.ExecuteScalar();
conn.Close();

در دستور بالا ستون UserName را در DataTable ریختیم و اینبار باید اطلاعات را از دیتاتیبل به Combobox بریزیم. برای اینکار باید از حلقه for استفاده کنیم.

بعد از همین دستورات این حلقه for را قرار دهید.

for (int i = 0; i < dt.Rows.Count; i++)
{
comboBox1.Items.Add(dt.Rows[i]["UserName"]);
}

نکته: این دستورات را می توانید در FormLoad صفحه قرار دهید همچنین می توانید در رویداد DrowpDown کومبوباکس قرار دهید.

ویدیوی آموزشی

برای امتیاز به این نوشته کلیک کنید!
[کل: 6 میانگین: 4]

Comments (15)

  • ebrahim پاسخ

    با عرض سلام ، سوالی دارم ممنون میشم جواب دهید چطور می توانم با سی شارپ تمام instance های sql server 2019 را در یک کمبوباکس نمایش دهم البته از طریق رجیستری نباشه.

    23 فروردین 1400 at 8:11 ق.ظ
  • محمد پاسخ

    سلام خیلی ممنون اموزنده بود فقط اینک اگه بخواییم با دستور لینکیو این کا رو انجام بدیم به چه صورت انجام میشه ممنون

    4 اسفند 1399 at 4:31 ب.ظ
  • امیر پاسخ

    سلام در معماری 3 لایه چطوری میشه آیتم های یک ستون از جدول رو در کمبو باکس اضافه کرد؟؟؟
    لطفا جوابم رو بدین خیلی به این جواب نیاز دارم ممنونم.

    21 مرداد 1399 at 2:05 ق.ظ
  • شیلا پاسخ

    ممنون از مطلب خوبتون

    14 خرداد 1399 at 7:51 ب.ظ
  • اسرین پاسخ

    سلام چطوری میشه اطلاعات دو ستون رو تو کومبوباس گذاشت مثلا نام و فامیل رو با هم تو یه کومبوباکس بزاریم

    16 بهمن 1398 at 9:28 ق.ظ
    • حسین درویشی پاسخ

      سلام
      بله میشه لطفاً ابتدا تو کوئری خود ستون های مورد نظر رو بنویسید ستون های من name,family هستند:
      string query = “SELECT name,family FROM [tbl_users]”;
      سپس در حلقه for دستورات را بصورت زیر بنویسید:
      comboBox1.Items.Add(dt.Rows[i][“name”]+” “+dt.Rows[i][“family”]);

      16 بهمن 1398 at 11:04 ق.ظ
  • امیر پاسخ

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

    29 دی 1398 at 12:47 ق.ظ
    • حسین درویشی پاسخ

      اگر منظورتون مورد انتخاب شده کاربر باشه میتونید از خاصیت Text کمبوباکس استفاده کنید.
      combobox.Text

      29 دی 1398 at 3:29 ب.ظ
  • الناز پاسخ

    سلام مهندس،من میخوام یک صفحه ثبت نام درست کنم که از جدول دومم (evidence) مقادیرش با combo box بذارم داخل فرم و همچنین میخوام در data grid view ،عدد نشون نده مقدار (name) اصلی را نشان بده؟ با تشکر

    5 دی 1398 at 9:25 ق.ظ
    • حسین درویشی پاسخ

      سلام میشه دقیقتر مشکلتون بگید منظورتون از عدد آی دی تو جدول هست؟
      ضمنا از چت آنلاین استفاده کنید.

      5 دی 1398 at 10:22 ق.ظ
  • محمد پاسخ

    سلام آقای درویشی
    یه سوال داشتم. می خواستم ببینم چطور میتونم آیتم های کامبوباکس رو راست چین کنم. توی مثال شما، آتیم های شما از چپ نوشته شدن. میخوام از راست نوشته بشه. چون آیتم هام فارسیه. البته میخوام به صورت کدنویسی این کار رو انجام بدم نه اینکه از property تغییر بدم
    خیلی ممنون از سایت خوبت

    13 آبان 1398 at 12:53 ق.ظ
    • حسین درویشی پاسخ

      سلام این دستور رو در فرم لود قرار دهید:

      combobox1.RightToLeft = RightToLeft.Yes;

      14 آبان 1398 at 10:18 ب.ظ
  • علی پاسخ

    سلام. ممنون از آموزشتون. منظور از lt در حلقه forچیه؟

    8 مهر 1398 at 12:15 ق.ظ
    • حسین درویشی پاسخ

      سلام
      اون lt نیست مشکلی بود که حل شد. همان علامت کوچکتر بزرگتر است <> . ما بعد از واکشی اطلاعات از دیتابیس اونا رو در یک datatable ریختیم برای اینکه مقدارهمه یک فیلد مشخصی رو از datatable بتوانیم در combobox نمایش دهیم باید روی ستون فیلد مورد نظر به تعداد سطرها پیمایش انجام دهیم. و این i همان تعداد سطرهاست که می خواهیم از سطر صفر تا … پیمایش انجام دهیم.

      8 مهر 1398 at 6:31 ب.ظ
  • ebrahim پاسخ

    آقای درویشی سلام یک سوالی دارم اگه جواب بدهید ممنون میشم. من در یک پنجره سی شارپ ۳ تا کمبوباکس و یک دیتاگریدویو دارم می خواهم در کمبو باکس ۱ دیتابیس های مختلف sql server نمایش داده بشه ، سپس با کلیک بر روی هر دیتابیس ، تیبل های مختلف اون در کمبوباکس ۲ نمایش داده بشه ، سپس با کلیک بر روی هر تیبل ، فیلدهای اون در کمبوباکس ۳ و دیتاگرید ویو نمایش داده بشه . ممنون میشم یک سورس کد برای من قرار دهید با تشکر فراوان

    6 خرداد 1398 at 11:38 ق.ظ

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *