PDA

View Full Version : سوال: مشکل در استفاده از inner join



parisa69
چهارشنبه 22 خرداد 1392, 14:46 عصر
سلام
من برای استفاده از اطلاعات دو جدول از inner join استفاده کردم تو sql جواب هم میده ولی حالا می خوام اطلاعاتی که بوسیله inner join از دو جدول بدست آوردم تو GridView نمایش بدم،ولی چون از 2 جدول بلد نیستم چطوری.اگه کمکم کنید ممنون میشم.

fakhravari
چهارشنبه 22 خرداد 1392, 15:15 عصر
همون کد در قالب یه دیتاتیبل بنویسید
SqlConnection con = new SqlConnection(ConnectionString);
SqlCommand cmd = new SqlCommand();
cmd.Connection = con;
cmd.CommandText = "SELECT .........";

con.Open();

SqlDataAdapter da = new SqlDataAdapter(cmd);
DataTable dt = new DataTable();

da.Fill(dt);
con.Close();
بعد بدینش به دیتاسورس گرید

parisa69
چهارشنبه 22 خرداد 1392, 15:21 عصر
ممنونم ولی تو dataset چطوری فیلد ها رو add کنم؟

Y_Safaiee
چهارشنبه 22 خرداد 1392, 15:28 عصر
ممنونم ولی تو dataset چطوری فیلد ها رو add کنم؟

با سلام بهتره جای دیتاست از دیتا تیبل استفاده کنین که بهتره اینم کد مد نظر شما




SqlConnection cnn = new SqlConnection(@"Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirector y|\Database1.mdf;Integrated Security=True;User Instance=True");

SqlDataAdapter da = new SqlDataAdapter("SELECT Books.*, BooksMojodi.Mojodi FROM Books INNER JOIN BooksMojodi ON Books.BookID = BooksMojodi.BookID", cnn);

DataTable dt=new DataTable();
da.Fill(dt);
dataGridView1.DataSource=dt;


من دوتا جدول به اسم Books و BooksMojodi ساختم که اطلاعات اصلی داخل تیبل books و میزان موجودیش در تیبل BooksMojodi هست و توسط BookID دو تا تیبل رو به هم ربط دادم.

برای استفاده از Dataset هم میتونین اینجوری بنویسید :



SqlConnection cnn = new SqlConnection(@"Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirector y|\Database1.mdf;Integrated Security=True;User Instance=True");

SqlDataAdapter da = new SqlDataAdapter("SELECT Books.*, BooksMojodi.Mojodi FROM Books INNER JOIN BooksMojodi ON Books.BookID = BooksMojodi.BookID", cnn);
DataSet ds = new DataSet();

da.Fill(ds);

dataGridView1.DataSource=ds.Tables[0];


نکته : بهتره همیشه اینجور کدها رو با SP ساخته و باهاشون کار کنین.

موفق باشین
بایت بایت

parisa69
چهارشنبه 22 خرداد 1392, 15:54 عصر
واقعا راهنماییتون عالیهوممنون.
حالا ستون هاشو چطوری add کنم؟

parisa69
چهارشنبه 22 خرداد 1392, 15:58 عصر
شد،جواب داد، مرسی از همتون عالییییییییییییییییییییه

Y_Safaiee
چهارشنبه 22 خرداد 1392, 16:03 عصر
واقعا راهنماییتون عالیهوممنون.
حالا ستون هاشو چطوری add کنم؟

خواهش میکنم

معمولا وقتی دیتاگرید رو به دیتاست یا دیتاتیبل نسبت میدین خودش ستونهارو (فیلدها) میذاره و تو گرید ویو نشون داده میشن اگه منظورتون فارسی کردن اونهاست به 3 حالت قابل انجامه :

1.توسط خود گرید ویو :

dataGridView1.Columns[0].HeaderText = "کد کتاب";

2.در دیتاست :


ds.Tables[0].Columns[0].ColumnName = "کد کتاب";
dataGridView1.DataSource = ds;


3.در دیتاتیبل :


dt.Columns[0].ColumnName = "کد کتاب";
dataGridView1.DataSource = dt;


موفق باشین
بایت بایت