نوشته شده توسط
raminsalemi
دوست عزیز با تشکر از حوصله ای که برای این مشکل صرف کردید من در برنامم یک کنترل comboBox دارم که به فیلد کد در بانک متصله و یک کنترل
comboBox دیگه که به نام کمیته ها متصله ویک کنترل checkedListBox که اعضای کمیته ها رو نشون میده با انتخاب کد کمیته نام کمیته درcomboBox دوم و نام اعضا در checkedListBox نمایش داده میشه که کاربر اعضایی رو که می خواد میتونه تیک بزنه ولی با کدی که شما لطف کردید checkedListBox پر نمیشه ممنون از راهنمایی های خوبتون
بسیار خوب. متوجه شدم.... سوء تفاهم شد. من برای پر کردن CheckedListBox شما کدی ننوشتم. شما باید از همون کدی که خودتون نوشته بودید استفاده کنید، یعنی:
SqlConnection con = new SqlConnection(constr);
SqlDataAdapter dad = new SqlDataAdapter("SELECT member FROM dbo.Table4 WHERE (codew = '" + comboBox1.SelectedValue + "' )GROUP BY member ", con);
DataTable dt = new DataTable();
dad.Fill(dt);
checkedListBox1.DataSource = dt;
checkedListBox1.DisplayMember = "member";
من در مورد پر کردن CheckedListBox صحبتی نکردم، فقط عرض کردم از Dynamic SQL ها استفاده نکنید. برای این بخش از صحبتم هم کدی ننوشتم...
در نهایت اون Loop رو به شما دادم، یعنی:
foreach (DataRowView drv in this.checkedListBox1.Items)
{
string fieldName = drv["member"] as string;
}
که شما بتونید توی این حلقه، متغیر temp خودتون رو با fieldName پر کنید و اونو با کد مورد نظر خودتون در بانک اضافه کنید. بدین ترتیب، دیگه این نام member ها هستش که در بانک ذخیره خواهد شد و نه رشته System.Data.DataRowView... (در واقع به سوال اصلی تاپیک پاسخ دادم، و نه چگونگی استفاده از Parametric Command ها و ...)
آیا با این توضیحات، بازهم مشکلی وجود داره؟ اگر اینطوره، بفرمایید تا مساله رو حل کنم.
موفق باشید.