PDA

View Full Version : کار با dataset



shiva23456
چهارشنبه 23 تیر 1389, 11:41 صبح
سلام.من میخواهم در load یکی از فرم هایم از 2 جدول بانک اطلاعاتی ام اطلاعاتش را بخوانم در یک dataset بریزم و 2 تا gridview را پر کنم.اشکالش اینه که هر بار در اجرا فقط یکی از gridviewها پر میشه یعنی یکی از table های داخل dataset را میشناسه

Bahar_HS
چهارشنبه 23 تیر 1389, 11:57 صبح
اینو امتحان کنید:



myDataSet = new DataSet();
myDataAdapter = new SqlDataAdapter();
con = new SqlConnection("Data Source = (local);Initial Catalog = karamuzy ;Integrated Security=True");

myDataSet.Clear();
mydataGridView.ClearSelection();

myDataAdapter.SelectCommand = new SqlCommand();
myDataAdapter.SelectCommand.Connection = con;
myDataAdapter.SelectCommand.CommandText = qury1;
myDataAdapter.SelectCommand.CommandType = CommandType.Text;

con.Open();
myDataAdapter.Fill(myDataSet, "Table1");


mydataGridView1.AutoGenerateColumns = true;
mydataGridView1.DataSource = myDataSet;
mydataGridView1.DataMember = "Table1";
myDataSet.Clear();
myDataAdapter.SelectCommand.CommandText = qury2
myDataAdapter.Fill(myDataSet, "Table2");

mydataGridView2.AutoGenerateColumns = true;
mydataGridView2.DataSource = myDataSet;
mydataGridView2.DataMember = "Table2";
con.Close();

اول دیتاست رو با جدول اول پرکنید بهdataGridView موردنظر وصل کنید ، دیتاست رو clear کنید
و command دوم رو اجرا کنید و حالا دیتاست رو با جدول دوم پرکنید و نتایج مرحله ی دوم رو بهdataGridView2 نسبت بدبد، فکر کنم این طوری درست بشه.

میشه از 2 تا دیتاست هم استفاده کرد ،چرا می خواید فقط از یه دیتاست استفاده کنید؟

vandermond
چهارشنبه 23 تیر 1389, 12:01 عصر
بله خب DataSet فقط يك جدول رو نگه ميداره. خب شما اول يك GridView رو پر كنيد و بعد جدول دوم رو بريزيد توي DataSet و بعدش هم GridView دوم.
كدش رو ديگه خودتون بنويسيدلطفا.
اگه مشكل داشتيدبگيد كه كد رو هم بزارم (ولي خودتون تلاش كنيد ديگه).


ويرايش: پاسخ همزمان. دوستمون كه ديگه كد رو هم گذاشتن. دستشون درد نكنه.

shiva23456
چهارشنبه 23 تیر 1389, 12:08 عصر
وقتی dataset را clearمیکنم اطلاعات grid اولم پاک میشه

s.khoshfekran
چهارشنبه 23 تیر 1389, 12:35 عصر
خب از DataSet یه کپی بگیر!

vandermond
چهارشنبه 23 تیر 1389, 12:39 عصر
خب از دوتا DataSet استفاده كن كه راحت بشي:چشمک:.


ويرايش: پست همزمان. درباره كپي گرفتن هم كه ميشه دوتا DataSet ديگه.!!

gwbasic
چهارشنبه 23 تیر 1389, 15:59 عصر
DataSet می تونه شامل چند DataTable باشه پس می تونید هر Command رو توی یکDataTable از DataSet مورد نظرتون بریزید.
برای این کار کافیه هنگام اجرای Command توسط متد Fill مربوط به DataAdapter در پارامتر دوم دو Table متفاوت رو بدید