【问题标题】:Dynamic Array to MS SQL Database动态数组到 MS SQL 数据库
【发布时间】:2013-06-25 08:41:24
【问题描述】:
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# 中发生吗?

我需要帮助,请任何擅长 c# 中的数组的人...

【问题讨论】:

  • 这里的dynamic 是什么意思?数组的长度应该是dynamic吗?
  • 只要从这个方法中以List或IEnumerable的形式返回“查询”,每一行都会包含你需要的数据,然后你就可以以其他形式使用它。
  • 返回此方法数组的查询我在此函数中构造的字符串 [] 行可用于另一个表单,该表单具有与我在此函数中放置的相同数据查询,如上所示.. 可以那会发生吗?我应该使用什么功能或方法?

标签: c# .net arrays linq global-variables


【解决方案1】:

要获得您想要的结果,您将需要做更多的工作。我使用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 的对象,为其赋值并将其添加到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
            }

【讨论】:

  • 感谢 Shaharyar...这段代码真的很有帮助
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-12-07
  • 2016-11-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多