0
我想從我的SQL Server數據庫加載新聞,但我遇到了問題。ASP.NET - 返回多個結果
Index.aspx.cs:
public static string Load_News()
{
string returnednews = "";
SqlConnection connection = new SqlConnection(Functions.ConnectionTag());
try
{
connection.Open();
using (SqlDataReader reader = new SqlCommand("SELECT TOP 3 * FROM website.dbo.news ORDER BY ui DESC", connection).ExecuteReader())
{
while (reader.Read())
{
returnednews = string.Format("<div class='article'><div class=\"a_header\"> <div class='title' ><a href = '/articles/article.aspx?id={0}' ><i class='fa fa-feed' ></i>{1}</a></div></div><div class='a_body' ><div class='a_thumb' ><img src = '/img/news_thumb_1.jpg' /><hr>{4}<br/><font style='font -weight: 600; color: #8e44ad;'>{2}</font></div><div class='a_content' ><p>{3}</p></div></div><div class='a_footer'></div></div>", new object[] { reader["ui"], reader["title"], reader["poster"], reader["announcement"], reader["date"] });
}
}
return returnednews;
}
catch (Exception exception)
{
return exception.ToString();
}
finally
{
if (connection != null)
{
connection.Dispose();
}
}
}
的Index.aspx:
<%@ Page
Title="Website"
Language="C#"
MasterPageFile="~/wes.master"
AutoEventWireup="true"
CodeFile="index.aspx.cs"
Inherits="index" %>
<%@ MasterType VirtualPath='~/wes.master' %>
<asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder1" runat="Server">
<div>
<%=Load_News()%>
</div>
</asp:Content>
一切完美,我得到的結果就好然而,只得到1個結果從數據庫中,而不是3?正如你可以在查詢看到,我選擇三個頭條新聞,但我只得到一個(查詢工作沒有問題的SQL Server上)
如果你的表只有一條記錄,該怎麼辦 –
看起來你正在通過循環遍歷每個迭代中的'returnednews'。也許你應該把行放入一個包含(如一個數組)或將它們連接在一起。 –
哦,對,我很笨。 它應該是「returnednews + = string.Format(」而不是returnednews = string.Format(... 謝謝:)並對不起,我不知道我是如何錯過 –