如何使用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