2012-06-21 80 views
-2

我有一个很好的数据集循环工作,但我需要运行基于父循环中的ID另一个循环。数据表循环内循环C#

我在一个单独的类中设置了一个通用列表,但我完全难以确定如何实际调用它。我谷歌搜索,但无法找到我明白的例子。

编辑:

代码列表...

public class BinList 
{ 
    public static List<Bin> GetById(int binOrderSiteID) 
    { 
     List<Bin> bins = new List<Bin>(); 

     SqlConnection conn; 
     SqlCommand comm; 
     SqlDataReader reader; 

     using (conn = new SqlConnection(myConnectionHere)) 
     { 
      comm = new SqlCommand("dbo.sl_BinsBySite", conn); 
      comm.CommandType = CommandType.StoredProcedure; 
      comm.Parameters.Add(new SqlParameter("@binOrderSiteID", SqlDbType.Int)); 
      comm.Parameters["@binOrderSiteID"].Value = binOrderSiteID; 

      try 
      { 
       conn.Open(); 
       reader = comm.ExecuteReader(); 
       if (reader.HasRows) 
       { 
        while (reader.Read()) 
        { 
         Bin b = new Bin(); 
         b.BinQty = reader["binQty"].ToString(); 
         b.BinType = reader["binType"].ToString(); 
         b.BinWasteGroupName = reader["binWasteGroupName"].ToString(); 
         b.BinCollectionFrequencyType = reader["binCollectionFrequencyType"].ToString(); 
         b.BinDeliveryStartDate = reader["binDeliveryStartDate"].ToString(); 
         b.BinEmptyCharge = reader["binEmptyCharge"].ToString(); 
         b.BinRentalCharge = reader["binRentalCharge"].ToString(); 
         b.BinDutyOfCareCharge = reader["binDutyOfCareCharge"].ToString(); 
         b.BinDeliveryCharge = reader["binDeliveryCharge"].ToString(); 
         bins.Add(b); 
        } 
       } 
      } 

      finally 
      { 
       conn.Close(); 
      } 
     } 

     return bins; 
    } 
} 

这是为每个字段存储库

public class Bin 
    { 
     public string BinQty { get; set; } 
     public string BinType { get; set; } 
     public string BinWasteGroupName { get; set; } 
     public string BinCollectionFrequencyType { get; set; } 
     public string BinDeliveryStartDate { get; set; } 
     public string BinEmptyCharge { get; set; } 
     public string BinRentalCharge { get; set; } 
     public string BinDutyOfCareCharge { get; set; } 
     public string BinDeliveryCharge { get; set; } 
    } 

代码来调用循环

public class PDFCreator 
{ 
    public static int BinOrderID { get; set; } 

    private int binOrderID = 0; 

    public PDFCreator(int intBinOrderID) 
    { 

    //Lots of code here 

    //Data conenection/datatable code here 

    foreach (DataRow row in dt.Rows) 
      { 
       //lots of code here 

       //dont know how to connect up or call the List 

       something?? = BinList.GetById(Convert.ToInt32(row["binOrderSiteID"].ToString())); 

       foreach (//somnething here) 
      } 
    } 
} 

对不起我没有添加我的代码原来。我不想展示它,因为我认为它是裤子。

任何想法?

干杯, 麻木

+2

请提供你的代码。没有看它就很难提出任何建议。 – fenix2222

+0

@ fenix2222对不起,我以为我在问一个普遍的问题。 – ComfortablyNumb

+0

我也很尴尬,显示我的代码因为我认为这是垃圾 – ComfortablyNumb

回答

0

要调用BinList GetById

var binList = BinList.GetById((int)row["binOrderSiteID"]); 

foreach (var bin in binList) 
{ 
    // do what you need to do with bin variable 
} 
+0

谢谢 - 它工作正常 - 所以它不是太远! – ComfortablyNumb