【问题标题】:How can I tell what my parameter values are?我怎么知道我的参数值是什么?
【发布时间】:2014-11-05 22:00:51
【问题描述】:

这是我的代码隐藏的 sn-p:

SqlConnection connection2 = new SqlConnection(str2);
SqlCommand cmd2 = new SqlCommand();
cmd2.CommandType = CommandType.StoredProcedure;
cmd2.CommandText = "" + MyRptSproc + "";
cmd2.Connection = connection2;


//Set up the parameters, if they exist
if (MyUseDates != "N")
{
cmd2.Parameters.Add("@StDate", SqlDbType.Date).Value = DateTime.Parse(txtStDate.Value);
cmd2.Parameters.Add("@EnDate", SqlDbType.Date).Value = DateTime.Parse(txtEnDate.Value);
}

if (MyPlatform != "N")
{
cmd2.Parameters.Add(new SqlParameter("@MyPlatform", cboPlatform.SelectedValue));
}

if (MyManager != "N")
{
cmd2.Parameters.Add(new SqlParameter("@MyManager", cboManager.SelectedValue));
}

if (MyAuditManager != "N")
{
cmd2.Parameters.Add(new SqlParameter("@MyAuditManager", cboAuditorManager.SelectedValue));
}

if (MySampleTitle != "N")
{
cmd2.Parameters.Add(new SqlParameter("@MySampleTitle", cboSampleTitle.SelectedValue));
}

if (MyAuditType != "N")
{
cmd2.Parameters.Add(new SqlParameter("@MyAuditType", cboAuditType.SelectedValue));
}

if (MyLocation != "N")
{
cmd2.Parameters.Add(new SqlParameter("@MyLocation", cboLocation.SelectedValue));
}


try
{
connection2.Open();
GridView_Reports.EmptyDataText = "No Records Found";
var adapter = new SqlDataAdapter(cmd2);
var ds = new DataSet();
adapter.Fill(ds, "MyTableName");

// Add this to a session variable so the datagrid won't get NULLed out on repost
Session["SSRptMenu"] = ds;

GridView_Reports.DataSource = ds;
GridView_Reports.DataBind();

所以我正在单步执行这段代码,然后进入

var adapter = new SqlDataAdapter(cmd2);

我突出显示“cmd2”,它告诉我它正在查看的服务器、命令文本是什么等...它还告诉我为这个特殊情况选择了 5 个参数。

我的问题是;我如何知道选择了哪些参数,以及它们的值是什么?我已经深入研究了几乎每个菜单项,但似乎找不到它。

【问题讨论】:

  • 您已将它们添加到Parameters。当你看那里时,你看到了什么?
  • 好吧,如何在代码顶部定义SqlParameterCollection,如果您的条件为true,则添加它们,然后在最后检查您的集合?
  • 它说有 5 个,但我在它下面找不到任何菜单项说明这 5 个是什么。
  • @JohnnyBones:我希望它是 SqlParameterCollection 类型,它可以展开以显示集合中的项目。也许你可以放一张你看到的截图而不是连接对象(或者如果你愿意的话)。

标签: c# code-behind


【解决方案1】:

如果其他人需要此信息,我在以下位置找到了它:

cmd2 -->   
  Parameters -->
    base -->
      base -->
        Non-Public members -->
          [System.Data.SqlClient.SqlParameterCollection] -->
             _items -->

在那里你可以找到参数列表,然后在每个参数下你可以找到它的值。

【讨论】:

    猜你喜欢
    • 2018-02-21
    • 1970-01-01
    • 2021-12-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-02-21
    • 1970-01-01
    相关资源
    最近更新 更多