繁体   English   中英

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

[英]ASP.NET C# How to fill table from database

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

        <asp:Table ID="Tournament" runat="server">
            <asp:TableHeaderRow>
                <asp:TableHeaderCell>Name</asp:TableHeaderCell>
                <asp:TableHeaderCell>Start date</asp:TableHeaderCell>
            </asp:TableHeaderRow>
        </asp:Table>

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

        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();

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

你应该像asp:GridView一样使用DataControl而不是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();
    }
}

ASPX:

 <asp:GridView ID="Tournament" runat="server"></asp:GridView>

用这种方式

 string conStr = "...";
            SqlConnection sqlConnection = new SqlConnection(conStr);
            string sqlString = "SELECT name, startdate FROM table WHERE startdate > @end_date AND name = ...";
            SqlDataAdapter da = new SqlDataAdapter(sqlString, sqlConnection);
            da.SelectCommand.Parameters.AddWithValue("@end_date", DateTime.Now);
            DataTable dt = new DataTable();
            da.Fill(dt);

            Tournament.DataSource = dt;
            Tournament.DataBind();
        }
    SqlCommand cmd = new SqlCommand();
    SqlConnection con = new SqlConnection();


       try
        {
            using (SqlConnection con = new SqlConnection("Data Source = [SERVERNAME]; Initial Catalog = CustomerOrders; Integrated Security = true"))
            {
                String name = dropDownList.SelectedItem.Text;
                SqlDataAdapter cmd = new SqlDataAdapter("SELECT * FROM Customer INNER JOIN Orders ON Customer.CustomerID = Orders.ReferenceID WHERE Name = '" + name + "'", con);
                con.Open();
                DataTable dtbl = new DataTable();
                cmd.Fill(dtbl);
                gvPhoneBook.DataSource = dtbl;
                gvPhoneBook.DataBind();

            }
        }
        catch (Exception Ex)
        {
            Console.WriteLine(Ex.Message);
        }



        <asp:GridView ID="gridView" runat="server" AutoGenerateColumns="false">
        <Columns>
            <asp:BoundField DataField="OrderID" HeaderText="OrderID" />
            <asp:BoundField DataField="ProductID" HeaderText="ProductID" />
            <asp:BoundField DataField="Quantity" HeaderText="Quantity" />
            <asp:BoundField DataField="Date" HeaderText="Date" />
            <asp:BoundField DataField="Dispatched" HeaderText="Dispatched" />
        </Columns>
        </asp:GridView>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM