使用文字显示查询的结果

本文关键字:结果 查询 显示 文字 | 更新日期: 2023-09-27 18:02:45

我试图在asp.net c#中显示从查询到文字的多行。下面是我的代码:

        protected void Page_Load(object sender, EventArgs e)
    {
        SqlConnection conn = new SqlConnection(WebConfigurationManager.ConnectionStrings["RaiseFantasyLeagueConnectionString"].ConnectionString);
        SqlCommand cmd = new SqlCommand("[dbo].[GetUsersLeagues]", conn);
        cmd.CommandType = CommandType.StoredProcedure;
        string userId = Membership.GetUser().ProviderUserKey.ToString();
        SqlParameter userIDParam = new SqlParameter("@userId", userId);
        cmd.Parameters.Add(userIDParam);
        conn.Open();
        SqlDataReader dReader = cmd.ExecuteReader(CommandBehavior.CloseConnection);
        while (dReader.Read())
        {
            usersLeagues.Text = (dReader["LeagueName"].ToString());
        }
        dReader.Close();
        conn.Close();
    }

我的问题是文字只显示其中一行,我已经用列表框尝试过了,所有的行都显示了。

有什么建议吗?

提前感谢!

使用文字显示查询的结果

您在每次迭代中替换Text属性的值:

while (dReader.Read())
{
    usersLeagues.Text = (dReader["LeagueName"].ToString());
}

相反,您需要连接每次迭代的值:

while (dReader.Read())
{
   usersLeagues.Text += (dReader["LeagueName"].ToString()) + Environment.NewLine;
}

在上面的例子中,使用+=会导致对usersLeagues.Text的当前值进行追加,而不是替换。