【问题标题】:SqlDataReader prints multiple rows, how can I split?SqlDataReader 打印多行,如何拆分?
【发布时间】:2015-08-08 02:21:39
【问题描述】:

我想使用SqlDataReader 从数据库中检索数据。我让它工作了,但我的查询返回多行数据,我想将它分开。

这是我的代码

string query = "select title, rating, dor from movie where title like '%"+name+"%';";

using (SqlConnection conn = new SqlConnection(cs))
{
    SqlCommand cmd = new SqlCommand(query, conn);
    conn.Open();

    SqlDataReader reader = cmd.ExecuteReader();

    if (reader.HasRows)
    {
        while (reader.Read())
        {
            Response.Write(reader[0].ToString());
            Response.Write(reader[1].ToString());
            Response.Write(reader[2].ToString());
        }
    }
    else
    {
        Response.Write("No rows found");
    }

    reader.Close();
}

例如.. reader[0].ToString() 是标题,因为它返回的数据不止一行,它会打印“title1title2”。有没有办法拆分这个,所以第 1 行的标题与第 2 行的标题是分开的?

【问题讨论】:

  • 我没有看到您的代码如何产生您所描述的输出。您也应该获得 ratingdor 值。
  • 是的,它也会产生这些,我只是在描述中使用标题作为示例。
  • 好吧,如果您发布一些代码,然后发布与代码不匹配的输出,这会令人困惑。我假设您应该编写一些 HTML?然后只需添加适当的 HTML 标记以在每次循环迭代之间添加新行,例如 <br/>
  • 在while循环中添加一个Response.WriteLine()。
  • Sstan, Response.Write(reader[0].ToString()) 仅从 dB 中的两个不同条目返回两个标题。那一行正在打印“title1title2”,我想拆分它。

标签: c# sql asp.net sql-server sqldatareader


【解决方案1】:

试试这个

string query = "select title, rating, dor from movie where title like '%"+name+"%';";

using (SqlConnection conn = new SqlConnection(cs))
{
    SqlCommand cmd = new SqlCommand(query, conn);
    conn.Open();

    SqlDataReader reader = cmd.ExecuteReader();

    if (reader.HasRows)
    {
        while (reader.Read())
        {
            Response.Write(reader[0].ToString());
            Response.Write(reader[1].ToString());
            Response.Write(reader[2].ToString());
            Response.Write("------------------------");//whatever separator you want to use
        }
    }
    else
    {
        Response.Write("No rows found");
    }

    reader.Close();
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-02-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多