Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/76.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#使用2读取器返回多个SQL行数据_C#_Sql_Asp.net - Fatal编程技术网

如何使用C#使用2读取器返回多个SQL行数据

如何使用C#使用2读取器返回多个SQL行数据,c#,sql,asp.net,C#,Sql,Asp.net,如何显示多条记录的使用情况 仅显示最新记录(列表中显示一条记录而不是所有记录),而在使用第一个读卡器之前,只需循环显示所有记录 我的代码是: using (SqlDataReader reader = cmd.ExecuteReader()) { if (reader.HasRows) {

如何显示多条记录的使用情况

仅显示最新记录(列表中显示一条记录而不是所有记录),而在使用第一个读卡器之前,只需循环显示所有记录

我的代码是:

      using (SqlDataReader reader = cmd.ExecuteReader())
                {
                    if (reader.HasRows)
                    {
                       
                        reader.Read();   //1st reader
                        string qlevel =  reader["qlevel"].ToString();
                        
                        if (qlevel == "Quick-Reply")
                        {

                            string html = "<ul>";
                              while (reader.Read())
                            {

                                string bot_respons_list = String.Format("{0}", reader["Answer"]);
                                html += "<li>" + bot_respons_list + "</li>";
                            }
                            html += "</ul>";

                            ltrMessage.Text += @"<div class='user'>  User : " + TextBox1.Text +
                              " <div class='bot'>  bot:   " + html + "  </div>  " +
                              "       </div>";
                        }
}
}

对数据库的查询只返回一个值。您可能需要更改查询以获得更多结果。可能是bcos您在数据库中只有一行数据,否则您可以向我们显示您的查询使用存储过程,sql返回多行,但使用c#仅显示一条记录。啊哈,在这种情况下(存储过程)请记住,您的存储过程应该返回查询结果表,没有一行仅仅表示操作成功。请参阅
reader.Read()//第一个读卡器应该是
while(reader.Read())
,第二个
while(reader.Read())
不应该在那里
ALTER Procedure [dbo].[spUserResponseTest]
(
@UserRequest nvarchar(255) 
)
as
BEGIN
    Select * from QnAchatbottbl WHERE question LIKE '%' + @UserRequest + '%' 


END