ASP.NET C#如何从数据库中填充表

Cra*_*ten 3 c# sql asp.net webforms

这是我的.aspx文件中的表格:

        <asp:Table ID="Tournament" runat="server">
            <asp:TableHeaderRow>
                <asp:TableHeaderCell>Name</asp:TableHeaderCell>
                <asp:TableHeaderCell>Start date</asp:TableHeaderCell>
            </asp:TableHeaderRow>
        </asp:Table>
Run Code Online (Sandbox Code Playgroud)

这是我从我的数据库获取数据的方式:

        string conStr = "...";
        SqlConnection sqlConnection = new SqlConnection(conStr);
        string sqlString = "SELECT name, startdate FROM table WHERE startdate > @end_date AND name = ...";
        IDbCommand idbCommand = new SqlCommand(sqlString, sqlConnection);
        IDbDataParameter parameter = idbCommand.CreateParameter();
        parameter.ParameterName = "@end_date";
        parameter.Value = DateTime.Now;
        idbCommand.Parameters.Add(parameter);
        sqlConnection.Open();
Run Code Online (Sandbox Code Playgroud)

如何用我的sql数据库中的数据填充我的asp:表?

fub*_*ubo 6

您应该使用DataControl asp:GridView而不是a asp:Table.如果asp:Table您需要将整个数据以实际方式添加到行/列中.如果asp:GridView它只是一个数据绑定.

CS:

string query = "SELECT name, startdate FROM table WHERE startdate > @end_date AND name = ...";
using (SqlConnection myConnection = new SqlConnection(ConnectionString))
{
    using (SqlCommand cmd = new SqlCommand(query, myConnection))
    {
        myConnection.Open();
        SqlDataReader dr = cmd.ExecuteReader(CommandBehavior.CloseConnection);
        DataTable dt = new DataTable();
        dt.Load(dr);
        Tournament.DataSource = dt;
        Tournament.DataBind();
    }
}
Run Code Online (Sandbox Code Playgroud)

ASPX:

 <asp:GridView ID="Tournament" runat="server"></asp:GridView>
Run Code Online (Sandbox Code Playgroud)