将SQL查询中的数据放入网格视图asp.net中

时间:2017-05-04 15:11:51

标签: asp.net sql-server webforms

我有一个网格框,我想在其中填写用户名为1的数据库中的数据,并在过去24小时内添加了他们的位置。

我已经测试了SQL查询并且它工作正常,但是当尝试将数据放入网格框时没有任何反应。

以下是我在aspx.cs文件中使用的代码:

    public partial class last24hours : System.Web.UI.Page
{
    SqlConnection con = new SqlConnection(@"Data Source = sql2008.net.dcs.hull.ac.uk; Initial Catalog = rde_514872; Integrated Security = True");
    protected void Page_Load(object sender, EventArgs e)
    {
        using (SqlCommand cmd = new SqlCommand())
        {
            cmd.CommandText = "SELECT Location FROM StaffLocation WHERE [Date and Time]>= getdate()-1 AND [Username] = '1'";
            cmd.Connection = con;
            DataTable dt = new DataTable();
            using (SqlDataAdapter sda = new SqlDataAdapter(cmd))
            {
                sda.Fill(dt);
                GridView1.DataSource = dt;
                GridView1.DataBind();
            }
        }
    }
}

gridView1是我没有使用sql源的空网格视图。

这是在aspx文件中初始化gridview的方式:

 <asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False">
    </asp:GridView>

1 个答案:

答案 0 :(得分:1)

您将AutoGenerateColumns设置为false。由于您还没有手动定义任何列,当然什么都不会出现。有两个修复:

将自动生成列设置为true。

<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="true" />

或手动定义列

<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="false">
    <Columns>
        <asp:BoundField DataField="Location" HeaderText="Location" SortExpression="Location" />
    </Columns>
</asp:GridView>