PDA

View Full Version : سوال: اتصال هر تب در TabControl به یک Table جداگانه از database



va2012
جمعه 23 دی 1390, 10:54 صبح
سلام

من یه برنامه نوشتم که شامل یک TabControl است و 7-8 تا تب جداگانه داره و دیتابیس هم به همین تعداد Table داره . حالا میخوام توی هر Tab یکی از این Table ها رو نمایش بدم . ولی نمی دونم باید برای هر تب یک دیتاست جداگانه تعریف بشه یا نه برای همه تب ها یک دیتاست کافیه و اگه یکی کافیه چطور باید این کار رو انجام بدم ؟ ( از طریق ویزارد این کار رو انجام میدم) :عصبانی++:

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

ممنون میشم اگه راهنمایی کنید. :تشویق:

va2012
جمعه 23 دی 1390, 15:31 عصر
کسی نیست جواب ما رو بده؟

meysamrt
جمعه 23 دی 1390, 16:16 عصر
با یه DataSet میتونی همشونو پر کنی



SqlConnection conn=new SqlConnection("connection string");
SqlCommand comm=new SqlCommand("",conn);
SqlDataAdapter da;
DataSet ds=new DataSet();
comm.CommandText="query1";
da=new SqlDataAdapter(comm);
da.Fill(ds, 'Table1');
comm.CommandText="query2";
da=new SqlDataAdapter(comm);
da.Fill(ds, 'Table2');
comm.CommandText="query3";
da=new SqlDataAdapter(comm);
da.Fill(ds, 'Table3');
comm.CommandText="query4";
da=new SqlDataAdapter(comm);
da.Fill(ds, 'Table4');
comm.CommandText="query5";
da=new SqlDataAdapter(comm);
da.Fill(ds, 'Table5');

va2012
جمعه 23 دی 1390, 18:19 عصر
ممنون . ولی نمیشه همین کار رو از طریق ویزارد انجام داد ؟ (آخه میخوام ظاهر تیبل ها رو هم طراحی کنم). وقتی از طریق ویزارد میخوام این کار رو انجام بدم برای هر تیبل یک دیتاست جدا می سازه!!!

meysamrt
جمعه 23 دی 1390, 18:30 عصر
راستش از اونجایی که ویزارد برای پروژه های متوسط تا بزرگ مناسب نیست و در تمامی پروژه ها از معماری چند لایه استفاده می کنم زیاد تسلطی روی ویزارد ندارم. ولی تا اونجایی که اطلاع دارم با ویزارد نمیشه چنین کاری رو انجام داد.

shadi khanum
شنبه 24 دی 1390, 12:56 عصر
نیازی به تغریف چند تا دیتاست نیست و با یکی درست میشه... من این کار رو قبلا انجام دادم.. شما تو هر تب یه دیتاگریدویوو بذار. بعد برو رو تب اول و گریدش رو انتخاب کن.smarttagش رو باز کن و از اون کمبو بالاش add project datasource رو انتخاب کن .. حالا به ترتیب دیتابیس و اون چند تا جدولی که میخوای تو تب های مختلف نشون بدی رو انتخاب کن تا خود VS برات دیتاست رو بسازه.حالا دوباره از طریق همون کمبو از توی اون دیتاست که ساخته جدولی که میخوای تو این تب نشون بدی رو انتخاب کن.. حالا برو تب بعدی و از کمبوی choose datasource ایندفعه other datasource و بعد project datasource رو انتخاب کن و از دیتاستی که قبلا ساختی اون جدول دیگری که میخوای نشون بدی تو این تب رو انتخاب کن و همینجوری تا آخری..
موفق باشی

va2012
شنبه 24 دی 1390, 20:02 عصر
ممنون از راهنماییتون . من متوجه شدم که با کد نویسی همه این کارها رو میشه انجام داد و استفاده از ویزارد هم سرعت برنامه و دیباگ کردن رو پایین میاره و هم گاهی اوقات باعث ریستارت شدن ویژوال استدیو میشه . ولی وقتی با کد نویسی این کارها رو انجام دادم همه این مشکلات حل شد.