根据 URL 中的 ID 显示数据库中的记录

XuDong Peng-MSFT 10,746 信誉分 Microsoft 供应商
2024-02-01T07:06:20.7266667+00:00

我有一个这样的网址: https://mydomain.com/page1.aspx?Id=287097645,我有一个查询语句,它根据 Id 从数据库中选择要显示的数据。

using (SqlCommand cmd = new SqlCommand("SELECT Item,Rate,Fee, FROM Table WHERE (doc_no = '" + Session["record"] + "')", con))

or

cmd.CommandText = "SELECT * FROM Table WHERE doc_no = '" + Session["record"] + "'";

当我导航到页面 https://mydomain.com/page1.aspx?Id=287097645 以显示记录时,不会显示任何记录。它只显示一个空白网页。所以我尝试使用查询语句,但这次,我添加了 ID (287097645) 并显示记录。

using (SqlCommand cmd = new SqlCommand("SELECT Item,Qty,Rate,Amount FROM Table WHERE (doc_no = '" + 287097645 + "')", con))

or

cmd.CommandText = "SELECT * FROM Table WHERE doc_no = 287097645";

如何根据条件(即 URL 中的 ID)显示数据库中的记录?

Note: 该问题整理于:Display Record from database based on Id from URL

ASP.NET
ASP.NET
.NET Framework 中一套用于生成 Web 应用程序和 XML Web 服务的技术。
20 个问题
0 个注释 无注释
{count} 票

接受的答案
  1. Zhi Lv - MSFT 32,446 信誉分 Microsoft 供应商
    2024-02-01T08:56:21.1233333+00:00

    你好,

    根据您的代码,您的问题是丢失 session["record"]的值。 您的数据库无法选择它不知道您的 doc_no 的编号。 我认为您可能没有设置session["record"]的值。

    另一个问题是,你需要获取url的参数而不是Session。 我建议你可以获得QueryString()。 像这样:

    cmd.CommandText = "SELECT * FROM Table WHERE doc_no = '" + Request.QueryString["Id"] + "'";
    

    如果答案是正确的解决方案,请单击“接受答案”并请投赞成票。如果您对此答案有其他疑问,请点击“评论”。
    注意:如果您想接收此线程的相关电子邮件通知,请按照我们文档中的步骤启用电子邮件通知。
    最好的问候

    0 个注释 无注释

0 个其他答案

排序依据: 非常有帮助

你的答案

问题作者可以将答案标记为“接受的答案”,这有助于用户了解已解决作者问题的答案。