【问题标题】:How do I print the parameters and query that was called in the stored procedure?如何打印存储过程中调用的参数和查询?
【发布时间】:2015-10-07 11:45:02
【问题描述】:

我有一组 aspx.cs 代码来调用存储过程来填充我的前端网站中的网格视图。然而,在运行期间 gridview 没有填充,但没有错误。 所以我想知道如何打印使用参数执行的 SQL 查询。谢谢

原因是当我使用它填充的现有数据运行时,但是如果添加新数据,它会导致根本不填充网格视图。

using (SqlConnection conn = new SqlConnection(dbConn))
            {
                using (SqlCommand cmd = new SqlCommand(spretrieve, conn))
                {
cmd.CommandType = CommandType.StoredProcedure;
                        cmd.Parameters.Add("@param1", SqlDbType.VarChar).Value = selectedDATE;
                        cmd.Parameters.Add("@param2", SqlDbType.VarChar).Value = selectedLVL2RISK;
                        cmd.Parameters.Add("@param3", SqlDbType.VarChar).Value = selectedORSA;
                        cmd.Parameters.Add("@param4", SqlDbType.VarChar).Value = selectedDPT;
                        string query = cmd.CommandText;

                        //Populate ORSA_ASSESSMENTS grid view
                        conn.Open();
                        SqlDataAdapter da = new SqlDataAdapter(cmd);
                        DataSet ds = new DataSet();
                        da.Fill(ds);
                        GRID.DataSource = ds.Tables[0];
                        GRID.DataBind();
              }
}

【问题讨论】:

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


【解决方案1】:
using (SqlConnection conn = new SqlConnection(dbConn))
        {
            using (SqlCommand cmd = new SqlCommand(spretrieve, conn))
            {
                    cmd.CommandType = CommandType.StoredProcedure;
                    cmd.Parameters.Add("@param1", SqlDbType.VarChar).Value = selectedDATE;
                    cmd.Parameters.Add("@param2", SqlDbType.VarChar).Value = selectedLVL2RISK;
                    cmd.Parameters.Add("@param3", SqlDbType.VarChar).Value = selectedORSA;
                    cmd.Parameters.Add("@param4", SqlDbType.VarChar).Value = selectedDPT;
                    string query = cmd.CommandText;

                    foreach (SqlParameter p in cmd.Parameters)
                    {
                         query = query.Replace(p.ParameterName, p.Value.ToString());
                    }

                    //query variable store sql statement with parameter value.       
                    //Populate ORSA_ASSESSMENTS grid view
                    conn.Open();
                    SqlDataAdapter da = new SqlDataAdapter(cmd);
                    DataSet ds = new DataSet();
                    da.Fill(ds);
                    GRID.DataSource = ds.Tables[0];
                    GRID.DataBind();
          }
}    

【讨论】:

  • 虽然此代码可能会回答问题,但提供有关此代码为何和/或如何回答问题的额外上下文可提高其长期价值。
猜你喜欢
  • 1970-01-01
  • 2013-10-10
  • 1970-01-01
  • 2014-05-10
  • 2015-05-22
  • 1970-01-01
  • 1970-01-01
  • 2015-03-07
  • 2013-01-23
相关资源
最近更新 更多