PDA

View Full Version : کمک در نوع کد نویسی؟



mohsen_f_b
چهارشنبه 18 شهریور 1388, 23:59 عصر
سلام
خسته نباشید.
یه راهنمایی می خواستم از دوستان حرفه ای.
من در حال نوشتن برنامهای هستم که به بانک SQL Server وصل می شه.
این بانک دارای 15 فیلد هستش.الان هم حدودا 100000 رکورد توش وارد شده.
توی قسمت های ورود اطلاعات جدید و ویرایش من بجایی استفاده از TextBox ،از ComboBox استفاده کردم.
برای این از ComboBoxاستفاده کردم که کسایی که دارن اطلاعات وارد وارد می کنند با زدن حروف اول کلمه های که براساس این حرف شروع می شه نمایش بده.
سرعت لود فرم خیلی اومده پایین.
از دوستان می خوام که منو راهنمایی کنند که از چه روشی استفاده کنم بهتره؟
آیا راهی هست که بتونم این کتدی سرعت درست کنم؟
آیا می شه یه کلاسی بنویسم که بشه به راحتی ComboBox هارو پر کنم؟
من زیاد تجربه تو برنامه نویسی با بانک رو ندارم.:متفکر:



da.SelectCommand = new SqlCommand("Select Distinct Name From MTable", DataBase.cn);
DataTable dt = new DataTable();
dt.Clear();
da.Fill(dt);
comboBox1.DataSource = dt;
comboBox1.DisplayMember = "Name";
comboBox1.AutoCompleteSource = AutoCompleteSource.ListItems;
comboBox1.AutoCompleteMode = AutoCompleteMode.SuggestAppend;


برای لود کردن لیست اسامی در ComboBox از این دستور استفاده کردم.
حالا برای هر 15 فیلد باید یک بار این کدا را بنویسم.
چه کنم؟ :عصبانی++:

Yasersadegh
پنج شنبه 19 شهریور 1388, 12:01 عصر
سلام دوست عزيز
خوب شما اين كدي كه نوشتيد مياد تمام اسامي رو دره كامبو باكس ميريزي كه به گفته خودت در حال حاضر 100000 ركورد داري كه يعني صدهزار اسم يدفعه مياد تو كمبو باكس كه خوب پدر كمبوباكس رو در مياره كه حالا 15 تا كمبو باكس بخواد با صد هزار ركورد پر بشه خوب اين پدر فرمم در مياره:گیج: و كاملا طبعيه كه طول بكشه و كاملا حركت غير منطقي هست!!:متعجب: چون مثلا تويه همين اسامي ممكنه كه 100 تا اسم محسن باشه كه خوب اضافي هستن، يا همينطور در مورد ساير فيلدها!!:اشتباه:
به نظر من شما از همون تكست باكس استفاده كن و تنها فيلدهايي كه مهمه كه حتما با زدن هر حرف كلمه پيشنهادي رو بياره يه كوئري برايه رويداد TextChanged تكست باكسه بنويس تا بره اولين اسم مورد نظر رو بياره كه تنها هنگام وارد كردن مقدار در تكست باكس سرعتت يه كم كند ميشه!! چون به محض رسيدن به اولين مورد ديگه ادامه نميده و همه n تا ركورد رو نمي گرده!!!:متفکر:
به نظر من اين حالت از كمبو باكس به صرفه تره و سريع تره!! حالا ممكنه دوستان نظر بهتري داشته باشند!!:لبخندساده:
موفق باشيد:چشمک:

mohsen_f_b
پنج شنبه 19 شهریور 1388, 14:49 عصر
سلام
خوب نظرتون چی یه کلاس تعریف کنیم؟

mohsen_f_b
پنج شنبه 19 شهریور 1388, 21:41 عصر
سلام
نظرتون چی بجایی اینکه ComboBox ها رو از DAtaBAse پر کنم به صورت دستی ComboBox ها رو کنم و هر چند وقت یک بار بگم یه چک کن اگه اسم جدیدی اضافه شده اون رو بزار تو ComboBox.