2013-06-25 64 views
0
private void getRRvalue(string DELRRNO) 
     { 
      try { 

      DBSFCDataContext SFC = new DBSFCDataContext(); 
      var query = (from i in SFC.POP10500s where i.POPRCTNM == DELRRNO select new { PONO = i.PONUMBER, DATEREC = i.DATERECD, VENDID = i.VENDORID, ITEMCODE = i.ITEMNMBR, QTYBAGS = i.QTYBAGS, QTYSHIP = i.QTYSHPPD, DEPT = i.TRXLOCTN }); 
      foreach (var r in query) 
      { 
       string[] row = { 
           DELRRNO, 
           r.PONO, 
           Convert.ToDateTime(r.DATEREC).ToString(), 
           r.VENDID, 
           r.ITEMCODE, 
           r.QTYBAGS.ToString(), 
           r.QTYSHIP.ToString(), 
           r.DEPT 
           }; 

       //glbVariables.getRRNO = ; 
       //glbVariables.getPONO = ; 
       //glbVariables.getRRdateRec = ; 
       //glbVariables.getVendID = ; 
       //glbVariables.getItemNO = ; 
       //glbVariables.getQtyBags = ; 
       //glbVariables.getQtyShipped = ; 
       //glbVariables.getLocnCode = ; 
      } 
      SFC.Connection.Close(); 
     } 
     catch (Exception ex) 
     { MessageBox.Show(ex.Message.ToString()); } 
    } 

我是新的C#.NET,我只是在想,如果我可以用一个动态数组像这样上面的代码,我需要声明这样一个全球性的阵列 - >“public static string [] row;”所以我可以使用另一种形式的数组字符串通过调用它与我从这个函数存储的数据,这可能发生在C#中吗?动态数组到MS SQL数据库

我需要帮助,请在这里任何人都善于在C#中的数组...

+0

你所说的'dynamic'这里意思?数组长度应该是“动态”吗? – Shaharyar

+0

只需将此方法的“查询”作为List或IEnumerable返回,每行将包含您需要的数据,然后您可以以另一种形式使用它。 – bazz

+0

返回此方法的查询数组我在这个函数中构造的字符串[]行在另一个窗体上使用与我在上面显示的此函数中具有的相同数据查询。可以发生这种情况吗?我应该使用什么功能或方法? –

回答

0

为了得到你想要的结果,你将不得不做一点更多的工作。我使用List来解释您的解决方案。

首先创建一个类的一个查询结果:

public class OneRowData 
     { 
      public string DELRRNO; 
      public string PONO; 
      public string DATEREC; 
      public string VENDID; 
      public string ITEMCODE; 
      public string QTYBAGS; 
      public string QTYSHIP; 
      public string DEPT; 
     } 

在你定的代码,创建一个OneRowData类型的List并使其public static从类之外还有访问:

public static List<OneRowData> QueryResults = new List<OneRowData>(); 

现在,在您foreach循环,创造OneRowData对象,assing值,并将其添加到List

foreach (var r in query) 
      { 
       OneRowData Obj = new OneRowData(); 
       //assing values to them 
       Obj.DATEREC = Convert.ToDateTime(r.DATEREC).ToString(); 
       Obj.DELRRNO = DELRRNO; 
       Obj.DEPT = r.DEPT; 
       Obj.ITEMCODE = r.ITEMCODE; 
       Obj.PONO = r.PONO; 
       Obj.QTYBAGS = r.QTYBAGS.ToString(); 
       Obj.QTYSHIP = r.QTYSHIP.ToString(); 
       Obj.VENDID = r.VENDID; 
       //then add the object to your list 
       QueryResults.Add(Obj); 
      } 

现在,你可以简单地叫你的List任何地方找你的数据是这样的:

foreach (OneRowData Row in QueryResults) 
      { 
       //Row.DATEREC 
       //Row.DELRRNO 
       //call them like this and use as you need 
      } 
+0

谢谢Shaharyar ...此代码真的有帮助 –