如何选择多个表到datagridview?

问题描述

我正在尝试将3个表合并为1个datagridview,但我希望每个表中都有一些特殊的列

这些是我的桌子

a.Malzemeler -Malzeme_ID(PK) -Malzemeİsmi -克_mL -Adet -BirimFiyat -ToplamFiyat

b.Tarifler -Tarif_ID(PK) -Tarif_İsmi -塔利马塔尔

c.TariflerveMalzemeler -ID -Tarif_ID(FK) -Malzeme_ID(FK) -克_mL -Adet

我想做的是

d。结果 -Tarif_İsmi(从表b) -Malzeme_İsmi(来自表a) -Gram_mL(来自表c) -Adet(来自表c) -Talimatlar(来自表b)

我的select查询在SQL上工作

"SELECT Tarif_İsmi,Malzemeİsmi,TariflerveMalzemeler.Gram_mL,TariflerveMalzemeler.Adet,Talimatlar FROM Malzemeler 
JOIN TariflerveMalzemeler ON Malzemeler.Malzeme_ID = TariflerveMalzemeler.Malzeme_ID JOIN Tarifler ON TariflerveMalzemeler.Tarif_ID = Tarifler.Tarif_ID"

但是我不知道如何使它在datagridview上工作?

解决方法

尝试以下操作:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data;

namespace ConsoleApplication166
{
    class Program
    {
        static void Main(string[] args)
        {
            DataTable Malzemeler = new DataTable();
            Malzemeler.Columns.Add("Malzeme_ID",typeof(string));
            Malzemeler.Columns.Add("Malzemeİsmi",typeof(string));
            Malzemeler.Columns.Add("Gram_mL",typeof(string));
            Malzemeler.Columns.Add("Adet",typeof(string));
            Malzemeler.Columns.Add("BirimFiyat",typeof(string));
            Malzemeler.Columns.Add("ToplamFiyat",typeof(string));

            DataTable Tarifler = new DataTable();
            Tarifler.Columns.Add("Tarif_ID",typeof(string));
            Tarifler.Columns.Add("Tarif_İsmi",typeof(string));
            Tarifler.Columns.Add("Talimatlar",typeof(string));

            DataTable TariflerveMalzemeler = new DataTable();
            TariflerveMalzemeler.Columns.Add("ID",typeof(string));
            TariflerveMalzemeler.Columns.Add("Tarif_ID",typeof(string));
            TariflerveMalzemeler.Columns.Add("Malzeme_ID",typeof(string));
            TariflerveMalzemeler.Columns.Add("Gram_mL",typeof(string));
            TariflerveMalzemeler.Columns.Add("Adet",typeof(string));

            DataTable Result = new DataTable();
            Result.Columns.Add("Tarif_İsmi",typeof(string));
            Result.Columns.Add("Malzeme_İsmi",typeof(string));
            Result.Columns.Add("Gram_mL",typeof(string));
            Result.Columns.Add("Adet",typeof(string));
            Result.Columns.Add("Talimatlar",typeof(string));

            var joins = from  tm in TariflerveMalzemeler.AsEnumerable()
                        join m in Malzemeler.AsEnumerable() on tm.Field<string>("Malzeme_ID") equals m.Field<string>("Malzeme_ID")
                        join t in Tarifler.AsEnumerable() on tm.Field<string>("Tarif_ID") equals t.Field<string>("Tarif_ID")
                        select new { tm = tm,m = m,t = t};
            foreach (var j in joins)
            {
                Result.Rows.Add(new object[] {
                    j.t.Field<string>("Tarif_İsmi"),j.m.Field<string>("Malzeme_İsmi"),j.tm.Field<string>("Gram_mL"),j.tm.Field<string>("Adet"),j.t.Field<string>("Talimatlar")
                });
            }
        }
    }

}

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...