如果用sql查询出datatable得话可以这样写string status = dt.Rows[0]["CardState"].ToString();
如果是linq呢?该怎么写?
BLL层
 Array dt = myCard.GetCards(CreditCardID, CardPass);//根据参数执行查询方法 把面值 状态 得值给dt
DAL层
  public Array GetCards(string CreditCardID, string CardPassword)
        {
            DALDataContext ocDC = new DALDataContext(ConfigurationManager.ConnectionStrings["OfficeChannelConnectionString_Web"].ConnectionString);
            var aaa = (from cc in ocDC.CreditCard
                      where cc.CreditCardID == CreditCardID && cc.CardPassword == CardPassword
                       select cc).ToArray();
            
            return aaa;
        }我想在BLL层把dt中得元素取出来像string status = dt.Rows[0]["CardState"].ToString();
这样?该怎么写呢?

解决方案 »

  1.   

    如果DAl层不该转成array那么该用什么类型比较好呢?
      

  2.   

    Linq查询表达式返回的是IQueryable<T>接口,此接口继承自IEnumerable<T>接口...直接枚举结果即可,也可直接绑定到多数数据绑定控件...除非必要,不要转来转去...
      

  3.   

    public CreditCard[] GetCards(string CreditCardID, string CardPassword)
            {
                DALDataContext ocDC = new DALDataContext(ConfigurationManager.ConnectionStrings["OfficeChannelConnectionString_Web"].ConnectionString);
                var aaa = (from cc in ocDC.CreditCard
                          where cc.CreditCardID == CreditCardID && cc.CardPassword == CardPassword
                          select cc).ToArray();
               
                return aaa;
            }
    .ToArray()就是转换成数组,CreditCard[].CreditCard[] cards = GetCards("...","...");
    string status = cards[0].CardState.ToString();
      

  4.   

    我想在BLL层把dt中得元素取出来像string status = dt.Rows[0]["CardState"].ToString(); 
    这样?该怎么写呢?
    ---
    Array dt = myCard.GetCards(CreditCardID, CardPass);//根据参数执行查询方法 把面值 状态 得值给dt 
    string status=dt[i].CardState;