2017-02-26 74 views
0

我如何在内部连接查询中正常选择表/列?SQL内部连接和正常选择

看看这个代码SQL CODE HERE

这是我如何填充我DGV

SqlConnection con = new SqlConnection("Data Source=DESKTOP-5V9PS33\\SQLEXPRESS;Initial Catalog=Farmacia;Integrated Security=True"); 
      con.Open(); 
      SqlCommand sc = new SqlCommand("SELECT Category,Subcategory,Product,Supplier FROM Inventory Inner Join Category ON Category.ID = Inventory.CategoryID Inner Join Subcategory ON Subcategory.ID = Inventory.SubcategoryID Inner Join Product ON Product.ID = Inventory.ProductID Inner Join Supplier ON Supplier.ID = Inventory.SupplierID", con); 
      SqlDataReader reader; 
      reader = sc.ExecuteReader(); 
      DataTable dt = new DataTable(); 
      dt.Columns.Add("ID", typeof(int)); 
      dt.Columns.Add("Product", typeof(string)); 
      dt.Columns.Add("Category", typeof(string)); 
      dt.Columns.Add("Subcategory", typeof(string)); 
      dt.Columns.Add("Supplier", typeof(string)); 
      dt.Load(reader); 

      for (int x = 0; x < dt.Rows.Count; x++) 
      { 
       string ID = dt.Rows[x].ItemArray[0].ToString(); 
       string Product = dt.Rows[x].ItemArray[1].ToString(); 
       string Category = dt.Rows[x].ItemArray[2].ToString(); 
       string Subcategory = dt.Rows[x].ItemArray[3].ToString(); 
       string Supplier = dt.Rows[x].ItemArray[4].ToString(); 
       string[] row = { ID,Product, Category, Subcategory, Supplier }; 
       dgvInventory.Rows.Add(row); 

      } 

我需要输出的ID连同一个查询的其他信息,这样我就可以把它们放到一个数据表,然后使用它填充DGV

回答

0

Inventory.Id添加到您的select查询中。

SELECT Inventory.Id, Category,Subcategory,Product,Supplier FROM Inventory ...

+0

感谢您的快速答复!真的有帮助。 +代表哥哥 –

+0

@CopenhagenLlagas乐意帮忙! – SqlZim