html 并非所有数据都从SQL Server显示到网站,

k5hmc34c  于 2022-12-02  发布在  SQL Server
关注(0)|答案(1)|浏览(126)

我试图在网页上只显示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
我只想从数据库中检索所有建筑物的名称。

4jb9z9bj

4jb9z9bj1#

看起来像是从DataReader中获取行,但在呈现时却忽略了它,而且似乎不需要ExecuteScalar步骤。
使用dr.GetString()应该可以帮助您获得价值。

while (dr.Read())
{
    var p = new HtmlGenericControl("a") { InnerText = dr.GetString(0) };
    inputBuilding.Controls.Add(p);
    p.Attributes.Add("class", "card");
    p.Attributes.Add("href", "viewRooms.aspx");
}

下面是一些使用DataReader的简单示例:https://learn.microsoft.com/en-us/dotnet/framework/data/adonet/retrieving-data-using-a-datareader

相关问题