【问题标题】:Showing Database values in the table in asp在 asp 中的表中显示数据库值
【发布时间】:2013-12-02 20:48:02
【问题描述】:

我想在 asp.net 的表中显示数据库值。 下面的代码是一个简单的查询:

protected void Button1_Click(object sender, EventArgs e)
        {
            SqlCommand cmd = new SqlCommand();
            cmd.Connection = new SqlConnection("");
            cmd.CommandText = "SELECT * FROM Customers ORDER BY CustomerID";
            cmd.Connection.Open();
            cmd.ExecuteNonQuery();
            cmd.Connection.Close();
        }

表格如何展示 DB 值? (需要代码)

【问题讨论】:

  • RTFM:msdn.microsoft.com/en-us/library/… datagrid 是一个可以用来快速显示数据的控件,另一个是 gridview。 ASP.net 中的大多数通过 webforms 的东西都可以很容易地做到这一点,而无需编写循环和输出 HTML,我会在学习时尝试坚持这些。'
  • Repeater 是另一种选择 - 对于 asp.net 新手来说可能更容易理解。
  • 你可以试试你提到的 Snowburnt,然后发布你尝试过的代码吗?

标签: asp.net sql-server ado.net


【解决方案1】:

您的代码中有几个缺失的部分,例如缺少连接字符串、未将命令与连接相关联以及使用 ExecuteNonquery。

这是您想要做的一个很好的例子:MSDN-DataGridView DataSource。虽然该示例不适用于 Windows 窗体,但 GetData 方法中用于数据访问的相同代码仍然适用。

在您的应用程序中,您可以使用填充表(来自示例),如下所示:

MyDataGrid.DataSource = GetData("Select * from Customer")
MyDataGrid.DataBind();

或者,您也可以使用 Visual Studio 环境将数据网格视图连接到数据源,而无需编写代码。

上面只是一个简单的例子,有不同的更好的方法来做同样的事情。然而,这只是一个开始。

【讨论】:

    【解决方案2】:

    正如其他人在 cmets 中提到的那样,您需要在页面上使用 DataList、Gridview 或 Repeater 来绑定此数据。没有它,你只是在连接,但不会显示你得到的东西。

    最简单的做法是在页面上放置一个 Gridview 并将其数据源设置为您的命令对象。您还需要在命令上定义一个 CommandType,否则您可能会抛出错误。

    GridView1.DataSource = cmd;
    GridView1.DataBind();
    

    您还缺少 Try...Catch...Finally 在 finally 块中的 Close() 调用。如果你不这样做,你可能会遇到僵尸连接,这会破坏数据库的性能。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-09-13
      • 2017-07-28
      • 1970-01-01
      • 2012-05-24
      • 2013-06-04
      相关资源
      最近更新 更多