我试图在网页上只显示SQL Server数据库中的建筑物名称。但网页只重复显示名字,并有正确的建筑物计数。
C#:-
页面加载时。
// Fetching the total count of buildings from the database and storing it in a variable.
SqlConnection conBldng = new SqlConnection("Data Source=DESKTOP-PMQQD94\\SQLEXPRESS;Initial Catalog=loginAMS;Integrated Security=True");
conBldng.Open();
SqlCommand cmdBldngs = new SqlCommand("Select buildingName from roomData", conBldng);
//var countBdlngs = cmdBldngs;
//conBldng.Close();
// Now to show the building names.
SqlConnection conn = new SqlConnection("Data Source=DESKTOP-PMQQD94\\SQLEXPRESS;Initial Catalog=loginAMS;Integrated Security=True");
SqlCommand cmd = new SqlCommand("select buildingName from buildingData", conn);
conn.Open();
string data = cmd.ExecuteScalar().ToString();
SqlDataReader dr = cmd.ExecuteReader();
while (dr.Read())
{
var p = new HtmlGenericControl("a") { InnerText = data };
inputBuilding.Controls.Add(p);
p.Attributes.Add("class", "card");
p.Attributes.Add("href", "viewRooms.aspx");
}
conn.Close();
ASP.NET的主要功能:-
<div class="cards" id="inputBuilding" runat="server">
</div>
生成的输出:-
Generated Output
我只想从数据库中检索所有建筑物的名称。
1条答案
按热度按时间4jb9z9bj1#
看起来像是从DataReader中获取行,但在呈现时却忽略了它,而且似乎不需要
ExecuteScalar
步骤。使用
dr.GetString()
应该可以帮助您获得价值。下面是一些使用DataReader的简单示例:https://learn.microsoft.com/en-us/dotnet/framework/data/adonet/retrieving-data-using-a-datareader