Как передать идентификатор в хранимую процедуру, которая исходит из детализации
Привет , я использую диаграмму и делаю панель для детализации и отображения значений, я хочу знать ,как передать идентификатор в хранимой процедуре, которая исходит из детализации Примечание: пожалуйста, посмотрите на код в "elseif"
Вот мой код
Что я уже пробовал:
мой код
SeriesCollection SC = new SeriesCollection(); DataEngine de = new DataEngine(); de.DataFields = "xAxis=Empname,yAxis=TotalLeave,ToolTip=LeaveType"; Chart.XAxis.Label.Text = "Department/Employees"; Chart.TempDirectory = "temp"; Chart.Debug = true; Chart.JS.Enabled = true; de.ConnectionString = conString; if (Request.QueryString["ddLevel"] == null ) { Chart.Title = "ABSENTEE REPORT"; txtstart.Visible = true; txtend.Visible = true; Button3.Visible = true; Button2.Visible = true; de.StoredProcedure = "AbsenteeReport2"; de.ConnectionString = conString; de.ParameterCollection.Clear(); de.AddParameter("@Startdate", txtstart.Text, FieldType.Date); de.AddParameter("@Enddate", txtend.Text, FieldType.Date); de.DataFields = "Xaxis=DeptName,Yaxis=LeaveCount,url=Deptname"; Chart.Series.ConnectionString = conString; Chart.Series.StoredProcedure = "AbsenteeReport2"; Chart.Series.ParameterCollection.Clear(); Chart.Series.AddParameter("@Startdate", txtstart.Text, FieldType.Date); Chart.Series.AddParameter("@Enddate", txtend.Text, FieldType.Date); Chart.DataBind(); Chart.Visible = true; Chart.SeriesCollection.Add(SC); Chart.Visible = true; SC = de.GetSeries(); foreach (Series s in SC) { foreach (Element el in s.Elements) { el.URL = "?id=" + el.URL + "&ddLevel=2"; } } Chart.SeriesCollection.Add(SC); } else if (Request.QueryString["ddLevel"] == "2") { Chart.Title = "ABSENTEE REPORT"; // de.SqlStatement = "Select Empname,TotalLeave,LeaveType From Charting32 Where Deptname = '" + Request.QueryString["id"] + "'"; de.StoredProcedure = "AbsenteeReport1 Where Deptname = '" + Request.QueryString["id"] + "'"; de.ConnectionString = conString; de.ParameterCollection.Clear(); de.AddParameter("@Startdate", txtstart.Text, FieldType.Date); de.AddParameter("@Enddate", txtend.Text, FieldType.Date); de.DataFields = "xAxis=Empname,yAxis=TotalLeave,ToolTip=LeaveType"; SC = de.GetSeries(); Chart.DefaultElement.ToolTip = "<block>Type: <block hAlign='left'>%yvalue<row>"; txtstart.Visible = false; txtend.Visible = false; Button3.Visible = false; Button2.Visible = false; Chart.Height = 550; foreach (Series s in SC) { foreach (Element el in s.Elements) { el.ToolTip = "<block>LeaveType:<block>".Replace(":", System.Environment.NewLine) + el.ToolTip.Replace(",", System.Environment.NewLine); } } Chart.SeriesCollection.Add(SC); }
Моя Хранимая Процедура
ALTER procedure [dbo].[AbsenteeReport1](@Startdate DateTime,@Enddate Datetime) as Begin With CTE as ( SELECT EmployeeDetails.Empname, DepartmentDetails.Deptname , LeaveApplication.LeaveType, Sum(LeaveApplication.NoOfDays) As TotalLeave FROM DepartmentDetails Inner JOIN EmployeeDetails on EmployeeDetails.DeptID = DepartmentDetails.DeptID INNER JOIN LeaveApplication On EmployeeDetails.EmpID = LeaveApplication.EmpID WHERE LeaveApplication.LeaveFromDate >=@Startdate AND LeaveApplication.LeaveFromDate <=@Enddate AND EmployeeDetails.Status=0 AND LeaveApplication.leavetype not in ('Forgot Access Card','Permission','Work from Home', 'Holiday Allowance/Weekend Allowance','On Duty','Night Shift Allowance') AND LeaveApplication.LeaveStatus<>'Rejected' GROUP BY LeaveApplication.EmpID , DepartmentDetails.Deptname, EmployeeDetails.Empname, LeaveApplication.LeaveType ) select EmpName, Deptname, stuff (( select ',' + LeaveType+'-'+ cast(TotalLeave as varchar(5)) from CTE where EmpName = t.EmpName and Deptname = t.Deptname for xml path('') ),1,1,'') as LeaveType, Sum(TotalLeave) as TotalLeave from CTE t group by EmpName, Deptname End