如何从数据库为ASP.NET页面分配多个值

本文关键字:分配 NET 数据库 ASP | 更新日期: 2023-09-27 18:30:10

我有一个用ASP.NET和C#开发的页面。在这个特定的页面上,登录的用户可以看到他们的经理是谁以及经理的联系方式等。这些详细信息是从数据库中检索的。我正在使用以下代码

protected string ManagerData()
{
    string UsrName = User.Identity.Name;
    string mName;
    string mNum;
    using (SqlConnection connection = new SqlConnection(Common.ConnectionString))
    {
        using (SqlCommand cmd = new SqlCommand("select ManagerName,ManagerNumber from Managers where UserName=@UserName"))
        {
            SqlParameter para = new SqlParameter("UserName", UsrName);
            cmd.Parameters.Add(para);
            cmd.Connection = connection;
            connection.Open();
            using (SqlDataReader reader = cmd.ExecuteReader())
            {
                reader.Read();
                mName = reader.GetString(0);
                mNum = reader.GetString(1);
            }
        }
    }
    return //How would i return both of the string
}

它返回值。为了显示它们,我使用以下代码

<h5>Your Manager is:<%:ManagerData() %> </h5>

但如果我做

<h5>Your Managers Number is:<%:ManagerData() %> </h5> 

在这两种情况下,它都返回Manager的名称。所以我的问题是,我应该写一个单独的方法来获得经理编号,还是有办法从上面的方法返回两个字符串?

提前感谢您的帮助和支持

如何从数据库为ASP.NET页面分配多个值

将参数传递给ManagerData函数,无论您需要名称还是编号

protected string ManagerData(String sValue)
{
    string UsrName = User.Identity.Name;
    string mName;
    string mNum;
    using (SqlConnection connection = new SqlConnection(Common.ConnectionString))
    {
        using (SqlCommand cmd = new SqlCommand("select ManagerName,ManagerNumber from Managers where UserName=@UserName"))
        {
            SqlParameter para = new SqlParameter("UserName", UsrName);
            cmd.Parameters.Add(para);
            cmd.Connection = connection;
            connection.Open();
            using (SqlDataReader reader = cmd.ExecuteReader())
            {
                reader.Read();
                mName = reader.GetString(0);
                mNum = reader.GetString(1);
            }
        }
    }
    if(sValue = "name")
     return mName;
    else
     return mNum    
}
<h5>Your Manager is:<%:ManagerData("name") %> </h5>
<h5>Your Managers Number is:<%:ManagerData("number") %> </h5> 

返回多个值

您可以使用";out";用于获取多个值的参数。例如

   Public string mName;
   Public string mNum;
        protected void ManagerData(out string mName,out string mNum)
    {
        string UsrName = User.Identity.Name;
        string mName;
        string mNum;
        using (SqlConnection connection = new SqlConnection(Common.ConnectionString))
        {
            using (SqlCommand cmd = new SqlCommand("select ManagerName,ManagerNumber from Managers where UserName=@UserName"))
            {
                SqlParameter para = new SqlParameter("UserName", UsrName);
                cmd.Parameters.Add(para);
                cmd.Connection = connection;
                connection.Open();
                using (SqlDataReader reader = cmd.ExecuteReader())
                {
                    reader.Read();
                    mName = reader.GetString(0);
                    mNum = reader.GetString(1);
                }
            }
        }
        
    }

在源页面

  <h5>Your Manager is:<%= mName %></h5>
     <h5>Your Manager is:<%= mNum %></h5>

执行此函数后,您可以获得mName和mNum的值。