【问题标题】:Asp.net C# Custom SQL in a dropdownlist下拉列表中的 Asp.net C# 自定义 SQL
【发布时间】:2011-05-16 13:20:59
【问题描述】:

我需要显示等于 var modid 和当前会话的用户 ID 的每条记录。

在 .cs 代码中,这将是:

SELECT Mod_Naam 
FROM Model 
WHERE Mod_ID = " + modid + " 
AND User_ID = '" + Session["status"].ToString() + "'

如何在下拉列表中导入此查询?

我可能还需要在 gridview 上使用它。

【问题讨论】:

  • “下拉列表中的这个查询”到底是什么意思?您的意思是modid 变量在您的下拉列表的IndexChanged 事件中返回?或者该查询的结果是否需要显示在下拉列表中。请澄清
  • 您是否打算在其中一个参数是下拉列表选择的网格中过滤结果?或者您想将下拉菜单的项目设置为该查询的结果吗?无论哪种方式,如果您想在没有业务或数据层的情况下将 SQL 直接包含在您的 Web 应用程序中,您应该能够使用 SqlDataSources 的组合来做到这一点。您还可以设置一个下拉列表来为网格的数据源提供参数
  • 这是我想用来选择我想在下拉列表中显示的项目的查询(与 IndexChanged 无关)。

标签: c# .net asp.net sql drop-down-menu


【解决方案1】:

您可以通过DataTable 从数据库中获取数据,然后将DataTable 绑定到下拉列表,如下所示:

using (SqlCommand cmd = new SqlCommand()
    { 
        cmd.Connection = cnn;
        cmd.CommandType = CommandType.Text; 
        cmd.CommandText = "SELECT Mod_Naam FROM Model WHERE Mod_ID = " + modid + " AND User_ID = '" + Session["status"].ToString() + "' "";
       //cmd.Parameters.Add(param);// You add parameter


        using (SqlDataAdapter da = new SqlDataAdapter(cmd)) 
        { 
            da.Fill(dt); 
        }

看看这里,如何在 DataTable Retrieve a DataTable using a SQL Statement 中获取数据

DropDownList1.DataSourceID = dt;
DropDownList1.DataTextField= "Mod_Naam";
DropDownList1.DataValueField= "Mod_Naam";
DropDownList1.DataBind();

【讨论】:

  • 另外,请使用查询参数而不是连接查询中的变量。预防总比治疗好:-)
  • 我已经评论了那个代码并写了评论,他必须修改一下那个查询。
  • 哦,是的,我看到了。我不是故意的,@Muhammad。您在评论中添加它做得很好:-)
猜你喜欢
  • 2013-08-25
  • 2014-12-21
  • 1970-01-01
  • 2013-09-04
  • 2011-10-27
  • 1970-01-01
  • 1970-01-01
  • 2014-10-23
  • 1970-01-01
相关资源
最近更新 更多