Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/288.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何在会话中检索单个列的多个值_C#_Asp.net_Mysql - Fatal编程技术网

C# 如何在会话中检索单个列的多个值

C# 如何在会话中检索单个列的多个值,c#,asp.net,mysql,C#,Asp.net,Mysql,我网站上的每个用户都有一个注册id。有一些紧急联系人id与此注册id关联 例如: EmerContact_id Reg_id 91 1 92 1 93 1 94 1 95 1 现在我想将这些紧急联系人id存储到会话中,如下所示: Session["Emer1"] Session["Emer2"]

我网站上的每个用户都有一个注册id。有一些紧急联系人id与此注册id关联

例如:

EmerContact_id  Reg_id    
  91              1    
  92              1    
  93              1    
  94              1    
  95              1
现在我想将这些紧急联系人id存储到会话中,如下所示:

Session["Emer1"]    
Session["Emer2"]    
Session["Emer3"]    
Session["Emer4"]    
Session["Emer5"]
我怎样才能做到这一点

我正在考虑使用:

while(reader.read()) { ... }

但我不知道如何使用它。

您可以在会话中存储完整的列表或数据集,但不建议这样做,但您可以这样做

获取时,可以将其强制转换为所需的类型


简单易用

您可以在会话中存储完整的列表或数据集,但不建议这样做,但您可以这样做

获取时,可以将其强制转换为所需的类型


简单易懂的

如果我理解你的问题

请试试这个

string[] EmerContactList = new string[]{"Emer1","Emer2","Emer3"};
Session["values"] = EmerContactList ;
访问

string[] results= (string[])Session["values"];

如果我理解你的问题

请试试这个

string[] EmerContactList = new string[]{"Emer1","Emer2","Emer3"};
Session["values"] = EmerContactList ;
访问

string[] results= (string[])Session["values"];
您可以使用MySqlDataReader并使用索引标记遍历结果,如下所示

using (MySqlConnection dbConnection = new MySqlConnection("connectionstring"))
{
    dbConnection.Open();

    using (MySqlCommand dbCommand = new MySqlCommand("select EmerContact_id from [Table] order by EmerContact_id asc;", dbConnection))
    {
        using (MySqlDataReader dbReader = dbCommand.ExecuteReader())
        {
            int index = 1;

            while (dbReader.Read())
            {
                Session["Emer" + index.ToString()] = dbReader[0].ToString();

                index++;
            }
        }
    }

    dbConnection.Close();
}
您还可以使用像List这样的集合对象并将其序列化到会话中。

您可以使用MySqlDataReader并使用索引标记遍历结果,如下所示

using (MySqlConnection dbConnection = new MySqlConnection("connectionstring"))
{
    dbConnection.Open();

    using (MySqlCommand dbCommand = new MySqlCommand("select EmerContact_id from [Table] order by EmerContact_id asc;", dbConnection))
    {
        using (MySqlDataReader dbReader = dbCommand.ExecuteReader())
        {
            int index = 1;

            while (dbReader.Read())
            {
                Session["Emer" + index.ToString()] = dbReader[0].ToString();

                index++;
            }
        }
    }

    dbConnection.Close();
}

您还可以使用像List这样的集合对象并将其序列化到会话中。

您还可以使用一个会话对象来存储值

List<int> EmerContacts = new List<int>();

using (MySqlConnection dbConnection = new MySqlConnection("connectionstring"))
{
    using (MySqlCommand dbCommand = new MySqlCommand("select EmerContact_id from [Table];", dbConnection))
    {
        using (MySqlDataReader dbReader = dbCommand.ExecuteReader())
        {

            while (dbReader.Read())
            {
                EmerContacts.Add((int)dbReader[0].ToString());

             }
        }
    }
}

Session["EmerContacts"] = EmerContacts;
当您需要使用列表时,您可以将会话转换回列表

List myList=ListSession[EmerContacts]

我手工输入了一些,所以它可能无法编译,但你应该了解它的要点


当您使用这种方法时,您可以轻松地对集合进行分类。使用您的方法会使这变得有点困难。

您还可以使用一个会话对象来存储值

List<int> EmerContacts = new List<int>();

using (MySqlConnection dbConnection = new MySqlConnection("connectionstring"))
{
    using (MySqlCommand dbCommand = new MySqlCommand("select EmerContact_id from [Table];", dbConnection))
    {
        using (MySqlDataReader dbReader = dbCommand.ExecuteReader())
        {

            while (dbReader.Read())
            {
                EmerContacts.Add((int)dbReader[0].ToString());

             }
        }
    }
}

Session["EmerContacts"] = EmerContacts;
当您需要使用列表时,您可以将会话转换回列表

List myList=ListSession[EmerContacts]

我手工输入了一些,所以它可能无法编译,但你应该了解它的要点


当您使用这种方法时,您可以轻松地对集合进行分类。使用您的方法会使这一点更加困难。

您需要的是,您想存储EmerContact\u id并基于此获取注册id,还是想同时存储这两个id?@huMptyduMpty我想同时存储这两个id…您需要的,您是要存储EmerContact\u id并根据该id获取注册id,还是要同时存储两个id?@huMptyduMpty我想同时存储两个id…我尝试了此操作,但跳过了第一个值。i、 我得到的会话[Emer1]=92,而不是91@用户1776428这没有任何意义,可能这是一个订购问题-尝试更改您的查询以从[表]order by EmerContact_id asc中选择EmerContact_id@punter这将为每个ID创建一个会话,我认为您应该使用一个对象,例如List,并将其存储在会话中,如下所示。我知道您要求多个会话,因此此答案更准确-但是,我认为最好使用一个会话。我尝试了此方法,但跳过了第一个值。i、 我得到的会话[Emer1]=92,而不是91@用户1776428这没有任何意义,可能这是一个订购问题-尝试更改您的查询以从[表]order by EmerContact_id asc中选择EmerContact_id@punter这将为每个ID创建一个会话,我认为您应该使用一个对象,例如List,并将其存储在会话中,如下所示。我知道你要求多个会话,所以这个答案更准确-但是,我认为最好使用一个会话。