я должен следующие параметры, которые необходимы для выполнения хранимой процедуры в SQL Server 2008 R2использование переменного сеанса в качестве параметров в asp.net
da.SelectCommand.Parameters.AddWithValue("@StartDate", sessionStartDate.ToString());
da.SelectCommand.Parameters.AddWithValue("@EndDate", sessionEndDate.ToString());
da.SelectCommand.Parameters.AddWithValue("@PaymentType", payment.ToString());
Они необходимы для выполнения хранимой процедуры. Все переменные сеанса передаются правильно. Однако при отображении gridview он не отображает данные. Я знаю, что есть данные, потому что я могу запускать хранимую процедуру в SSMS, и она отлично работает с параметрами, которые передаются proc (когда я их ввожу).
Я довольно смущен в этой точке, поэтому любая помощь будет полезна.
grdDenialDetail.DataSource = ds.Tables["DetailDenial"].DefaultView;
grdDenialDetail.DataBind();
ВЕСЬ ТЕКУЩИЙ: (возможно, это поможет)
public void ExecuteDetailReport()
{
string sessionConnection = Session["Company"].ToString();
string sessionStartDate = Session["StartDate"].ToString();
string sessionEndDate = Session["EndDate"].ToString();
string payment = Session["payment"].ToString();
SqlConnection conn = new SqlConnection(WebConfigurationManager.ConnectionStrings[sessionConnection].ConnectionString);
SqlDataAdapter da = new SqlDataAdapter("dbo.cusGenDenialReportPivotStylePType", conn);
da.SelectCommand.CommandType = CommandType.StoredProcedure;
/*da.SelectCommand.Parameters.Add(new SqlParameter("@StartDate", SqlDbType.VarChar, 11)).Value = sessionStartDate.ToString();
da.SelectCommand.Parameters.Add(new SqlParameter("@EndDate", SqlDbType.VarChar, 11)).Value = sessionEndDate.ToString();
da.SelectCommand.Parameters.Add(new SqlParameter("@PaymentType", SqlDbType.VarChar, 100)).Value = payment.ToString();*/
da.SelectCommand.Parameters.AddWithValue("@StartDate", sessionStartDate);
da.SelectCommand.Parameters.AddWithValue("@EndDate", sessionEndDate);
da.SelectCommand.Parameters.AddWithValue("@PaymentType", payment);
lblTest.Visible = true;
lblTest.Text = "You selected " + payment + ".";
DataSet ds = new DataSet();
da.Fill(ds, "DetailDenial");
grdDenialDetail.DataSource = ds.Tables["DetailDenial"].DefaultView;
grdDenialDetail.DataBind();
da.Dispose();
conn.Close();
}
Где ваш код привязки? –
Я добавил его к вопросу. – MaximusPrime
Нет необходимости в 'ToString()' каждой из переменных; тип второго параметра 'AddWithValue' - это' object'. Если вы оставите его, вы можете передать переменные на SQL-сервер в том формате, который он не понимает. –