PDA

View Full Version : اتصال یک datagridview به دو جدول



Mina74
شنبه 10 مهر 1395, 22:02 عصر
سلام استادان گرامی.

بنده میخوام اطلاعات دو جدول رو توی یک دیتا گرید ویو نشون بدم باید چکار کنم.


DataTable dt = new DataTable();
Database db = new Database();
string Type = "فاکتور فروش";
dt = db.MySelect("SELECT '" + Type + "',tbl_Factoor_Foroosh.NameClient,tbl_Factoor_Foroo sh.codeFactoor,tbl_Factoor_Foroosh.Anbar,tbl_Facto or_Foroosh.ProductName,tbl_Factoor_Foroosh.Tehdad, tbl_SabtMahsool.VahedFarei, " +
"tbl_Factoor_Foroosh.CostVahed,tbl_Factoor_Foroosh. Takhfif,tbl_Factoor_Foroosh.PasAzTakhfif,tbl_Facto or_Foroosh.Tehdad * tbl_Factoor_Foroosh.PasAzTakhfif " +
"FROM tbl_Factoor_Foroosh INNER JOIN tbl_SabtMahsool ON tbl_Factoor_Foroosh.Product_id = tbl_SabtMahsool.IdProduct");






string Type1 = "فاکتور خرید";
DataTable dt1 = new DataTable();
dt1 = db.MySelect("SELECT '" + Type1 + "',tbl_Factoor_Kharid.NameClient,tbl_Factoor_Kharid .SerilFactoor,tbl_Factoor_Kharid.Anbar,tbl_Factoor _Kharid.ProductName,tbl_SabtMahsool.VahedFarei,tbl _Factoor_Kharid.CostVahed, " +
"tbl_Factoor_Kharid.Takhfif,tbl_Factoor_Kharid.PasA zTakhfif,tbl_Factoor_Kharid.Tehdad * tbl_Factoor_Kharid.PasAzTakhfif " +
"FROM tbl_Factoor_Kharid INNER JOIN tbl_SabtMahsool ON tbl_Factoor_Kharid.Product_id = tbl_SabtMahsool.IdProduct");



dataGridView1.DataSource = dt;

این اطلاعات رو.
ممنون میشم کمکم کنید.:قلب::قلب::قلب::قلب::قلب:: قلب:

ali_md110
یک شنبه 11 مهر 1395, 07:58 صبح
اگر بجای نوشتن کوئری هر دو جدول بگید میخاید چیکار کنید بهتر میشد راهنمایی کرد
و حالا اگر منظور شما اینه که لیست فاکتور خرید و فروش رو توی یک گراید نمایش بدبد
اولا نیاز به داشتن دوتا جدول مجزا برای خرید و فروش ندارید و یک جدول کافیه فقط کافیه یک flag برای شناسایی داشته باشید
و با توجه به همین روش خودتون میتونید از کوئری Union استفاده کنید


SELECT City FROM Customers
UNION
SELECT City FROM Suppliers
ORDER BY City;

دقت کنید که فیلدهای کوئری Union همنام باید باشند
یا بیاید یک جدول مجازی بوسیله یک کلاس یا درون یک استوردپروسیجر اسکیول سرور درست کنید
و پس از هر بار کوئری از جدول خرید اطلاعات رو بریزید توی اون و در ادامه یک کوئری دیگه بزنید روی جدول فروش و بقیه رکورها رو در ادامه رکوردهای خرید بریزید توی اون جدول موقت یا حافظه ای

mrprestige
یک شنبه 11 مهر 1395, 18:52 عصر
عرض سلام خدمت شما دوست من و همچین خدمت جناب ali_md110 (http://barnamenevis.org/member.php?18325-ali_md110) ضمن تایید فرمایشات ایشون دوست من بنده باید عرض کنم شما میتونین از کوئری INTERSECT هم استفاده کنید تفاوت اون با UNION در این هست که UNION در واقع رکورد های غیر تکراری رو بهمون میده ولی عملکرد INTERSECT اون رکورد های تکراری رو بهمون نمایش میده . نحوه نوشتن کوئری ش با UNION تفاوتی نداره فقط بجای استفاده از عبارت UNION از INTERSECT استفاده میکنیم .


پیروز و موفق باشید

kamiloted
یک شنبه 11 مهر 1395, 22:13 عصر
سلا و همچنین میتونید از عبارت UNION ALL برای نمایش تکراری ها استفاده کنید.