PDA

View Full Version : آموزش: اتصال یک ستون از پایگاه داده SQL Server به ComboBox



raha1234567
دوشنبه 18 مرداد 1389, 23:20 عصر
گاهی اوقات می خواهید که محتویات یک ستون یا فیلد در پایگاه داده SQL Server یا اکسس یا ... در Combo Box برنامه نمایش داده شود برای این کار می توان هم از طریق گرافیکی و هم کدنویسی این کار را انجام داد که ما هردوروش را در دوزبان VB.Net و C#‎ بیان می کنیم.

ابتدا روش گرافیکی:
برای این کار ابتدا یک Dataset از طریق ویزارد ایجاد کنید و جدول مربوط در پایگاه
ابتدا یک Combo box به فرم خود اضافه کنید سپس در خاصیت DataSource مراحل زیر را طی کنید
Other Data Sources/Project Data Sources/نام دیتاست/نام جدول
حالا به خاصیت DisplayMember رفته و نام فیلد را که می خواهید محتویات ان در ComboBox نمایش داده شود مشخص کنید.
برنامه را اجرا کنید.
روش کدنویسی:
فرض می کنم در SQL Server دیتابیسی به نام school و جدولی به نام student که یکی از فیلدهای آن stFname است دارم و می خواهم محتویات این فیلد را در Combo Box نمایش دهم.
در این روش ابتدا یک ComboBox با نام cmbbind و یک دکمه Button برروی فرم قرار داده سپس در رویداد Click دکمه Button دستورات زیر را بنویسید






C#‎





con = new SqlConnection();





con.ConnectionString = "data source=.;initial catalog=school;integrated security=true";





con.Open();





com = new SqlCommand();





com.Connection = con;





com.CommandText = "select * from student";





ad = new SqlDataAdapter();





ad.SelectCommand = com;





ds = new DataSet();





ad.Fill(ds, "student");





cmbbind.DataSource = ds;





cmbbind.DisplayMember = "student.stFname";





con.Close();










VB.NET





con = New SqlConnection





con.ConnectionString = "data source=.;initial catalog=school;integrated security=true"





con.Open()





com = New SqlCommand





com.Connection = con





com.CommandText = "select *from student"





ad = New SqlDataAdapter





ad.SelectCommand = com





ds = New DataSet





ad.Fill(ds, "student")





cmbbind.DataSource = ds





cmbbind.DisplayMember = "student.stFname"





con.Close()





برنامه را اجرا کنید.


موفق باشید

mohammad_2039
دوشنبه 18 مرداد 1389, 23:35 عصر
سلام
دست شما درد نکنه، فقط ای کاش کد ها رو تو تگ کد میزاشتی تا این مدلی به هم نریزه:لبخند:

warden
دوشنبه 28 فروردین 1391, 12:52 عصر
سلام
دست شما درد نکنه
اگه کد وي بي 6 اين رو هم دارين لطفا بزارين

esibarnamenevis
سه شنبه 06 فروردین 1392, 10:42 صبح
سلام
اگه بخوایم دو تا فیلد رو به کمبوباکس بدیم با چکار کنیم
یه فیلد کد و فیلد دیگر نام است طوری باشد که نام قابل نمایش برای کاربر باشد و اندیس همان فیلد اول یا کد باشد و وقتی کاربر یه گزینه را انتخاب کرد برای ثبت در پایگاه کد آنرا ثبت کنیم

esibarnamenevis
سه شنبه 06 فروردین 1392, 13:41 عصر
با کمک دوست عزیز veniz2008 جواب گرفتم
سلام.
کمبوباکس دو خاصیت مهم به نام های displaymember و valuemember داره که اولی واسه نشون دادن متن ظاهری به کاربر هست (در مثال شما میشه نام) و دومی کد(ارزش) رو به هر نام نسبت میده (در مثال شما valuemember میشه کد).
در هنگام ثبت یا ویرایش یا ... برای دسترسی به کد هر آیتم انتخاب شده، از خصوصیت selectedvalue (یعنی ارزش آیتم انتخاب شده) استفاده کنید. قبلا در سایت بارها در این باره بحث شده که با جستجو میتونید نتایج کاملتری رو بدست بیارید.
موفق باشید.

pure_love
یک شنبه 22 اردیبهشت 1398, 13:28 عصر
گاهی اوقات می خواهید که محتویات یک ستون یا فیلد در پایگاه داده SQL Server یا اکسس یا ... در Combo Box برنامه نمایش داده شود برای این کار می توان هم از طریق گرافیکی و هم کدنویسی این کار را انجام داد که ما هردوروش را در دوزبان VB.Net و C#‎‎ بیان می کنیم.

ابتدا روش گرافیکی:
برای این کار ابتدا یک Dataset از طریق ویزارد ایجاد کنید و جدول مربوط در پایگاه
ابتدا یک Combo box به فرم خود اضافه کنید سپس در خاصیت DataSource مراحل زیر را طی کنید
Other Data Sources/Project Data Sources/نام دیتاست/نام جدول
حالا به خاصیت DisplayMember رفته و نام فیلد را که می خواهید محتویات ان در ComboBox نمایش داده شود مشخص کنید.
برنامه را اجرا کنید.
روش کدنویسی:
فرض می کنم در SQL Server دیتابیسی به نام school و جدولی به نام student که یکی از فیلدهای آن stFname است دارم و می خواهم محتویات این فیلد را در Combo Box نمایش دهم.
در این روش ابتدا یک ComboBox با نام cmbbind و یک دکمه Button برروی فرم قرار داده سپس در رویداد Click دکمه Button دستورات زیر را بنویسید





برنامه را اجرا کنید.


موفق باشید


آموزش عالی بود دوست عزیز
واقعا مرسی

فقط یه مشکلی که من دارم میخام جستجو کنم ! یعنی وقتی لیست کامبوباکس باز میشه و اسامی برام میاره بتونم جستجو کنم! آخه اسامی من زیاده حدود 200 رکورده....
چه راهکاری برام پیشنهاد میدید
تشکر

danialafshari
یک شنبه 22 اردیبهشت 1398, 22:59 عصر
آموزش عالی بود دوست عزیز
واقعا مرسی

فقط یه مشکلی که من دارم میخام جستجو کنم ! یعنی وقتی لیست کامبوباکس باز میشه و اسامی برام میاره بتونم جستجو کنم! آخه اسامی من زیاده حدود 200 رکورده....
چه راهکاری برام پیشنهاد میدید
تشکر
ComboBox برای این تعداد رکورد جوابگو نیست
بهتره همانند جداول پایه یک فرم باز شود که امکان فیلتر و انتخاب داشته باشد