【问题标题】:Looping though columns to store in session遍历列以存储在会话中
【发布时间】:2015-04-08 23:17:23
【问题描述】:

所以我有一个使用“SELECT * FROM People WHERE ID = ?”的 DataTable您可以理解,这只会检索一行,因为 ID 是唯一的

我已将其添加到列表中:

   List<DataTable> userInfo = (List<DataTable>)HttpContext.Current.Session["userDT"];

现在我正在尝试执行一个 foreach 循环,该循环将遍历每一行并将列存储到一个会话中,这就是我目前所拥有的:

但是我得到一个错误:

无法将类型“System.Data.DataTable”转换为“System.Data.DataRow”

有谁知道我做错了什么?

【问题讨论】:

  • 您不应将其存储为 DataRow 或会话中的纯值。相反,创建一个包含您要存储的属性的类,并将其存储在会话中。

标签: c# asp.net session


【解决方案1】:

userInfo 是一个表列表。您必须遍历它,并且对于每个表,您都可以访问该表的行:

        foreach (DataTable dt in userInfo)
        {
            foreach (DataColumn column in dt.Columns)
            {
                // if you want column names here is how you would get them
                string columnName = column.ColumnName;

                foreach (DataRow row in dt.Rows)
                {
                    // if you want the values in the cells, here's where you get them
                    object value = row[column];
                }
            }
        }

【讨论】:

  • 那么如何将像 first_name 这样的列存储到会话中?
  • 您是否在问如何访问名为“first_name”的列中的值?还是您在寻找列名?
猜你喜欢
  • 2012-10-26
  • 2011-01-20
  • 2018-11-20
  • 2023-03-16
  • 1970-01-01
  • 1970-01-01
  • 2021-05-31
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多