Рейтинг:
2
debasish mishra
Это идея, приведенная ниже в SQL.Вы можете получить некоторую ошибку при выполнении, потому что этот нижеприведенный запрос не был проверен.Но идея лежит между тем, где состояние и внутреннее соединяются
SELECT S.Status, C.cnt
FROM YourTable S
INNER JOIN (SELECT Status, count(Status) as cnt
FROM YourTable
GROUP BY Status) C ON S.Status= C.Status where CONVERT(VARCHAR(10), inputdate, 101)between CONVERT(VARCHAR(10),S.FromDate,101) and CONVERT(VARCHAR(10),S.ToDate,101)
В приведенном выше запросе
inputdate
это дата, которую вы передаете из своего кода c# в хранимую процедуру в качестве входного параметра.
После получения этих данных из sql отправьте их в таблицу данных или список того, что вы когда-либо использовали, а затем свяжите с таблицей данных/gridview.
kav@94
я хочу сделать это через код c#, как я уже пробовал с помощью sql-запроса
[no name]
Как вы уже упоминали с помощью C# или query, поэтому я опубликовал SQL-запрос.Если вы можете достичь этого с помощью SQL, то зачем вам нужно делать это с помощью C#.Просто спрашиваю.
kav@94
поскольку sql запрос не работает как я могу передать введенную дату в текстовое поле sql запросу
[no name]
Вы можете получить значение текстового поля на основе Texboxid.Текст, а затем использовать, как это показано ниже.Но в сценарии реального времени вы должны использовать принципы многоуровневой архитектуры.Если ваш проект требует ORM, вы можете легко обойтись с Entity framework.:
using (SqlConnection con = new SqlConnection(your connectionstring)) {
using (SqlCommand cmd = new SqlCommand("ваше имя хранимой процедуры", con)) {
УМК.CommandType = CommandType.Хранимая процедура;
cmd.Parameters.Add("@inputDate", SqlDbType.VarChar).Значение = txtDateToCompare.Текст;
против.Открыть();
УМК.Метод executenonquery();
}
kav@94
У меня уже есть запрос как я могу получить данные с помощью этого запроса передав дату которую я ввел в текстовое поле и проверив находится ли она между датой от даты и до даты
Выберите (SELECT PName FROM PDet WHERE (ID = dws.Изъятия )) Как Имяпроекта, раздел как название,
(Выберите имя пользователя WHERE (ID = dws.Dname)) Как Devname, статус,
(Выберите имя пользователя как User_a WHERE (ID = dws.Адело))
AS AssWork, FromDate, ToDate, DescATask FROM Status AS ws
[no name]
Я не вижу никакого процентного расчета из вашего вышеприведенного запроса.
kav@94
каков процентный расчет, о котором вы спрашиваете, мой вышеприведенный запрос дает мне эти данные
Статус Sno FromDate ToDate
1 до 02/20/2017 02/26/2017
2 Держите 01/10/2017 01/25/2017
3 завершено 21.02.2017 26.02.2017
4 завершено 22.02.2017 28.02.2017
5 Держите 01/15/2017 01/30/2017
6 до 01/20/2017 02/22/2017
теперь мне нужно изменить мой вышеприведенный запрос, чтобы получить эти данные
Отложенное Удержание Завершено
1 0 2
[no name]
Вы пробовали выполнить вышеописанный запрос, созданный в решении?
kav@94
нет используя этот запрос мне нужно создать это решение
У меня уже есть запрос как я могу получить данные с помощью этого запроса передав дату которую я ввел в текстовое поле и проверив находится ли она между датой от даты и до даты
Выберите (SELECT PName FROM PDet WHERE (ID = dws.Изъятия )) Как Имяпроекта, раздел как название,
(Выберите имя пользователя WHERE (ID = dws.Dname)) Как Devname, статус,
(Выберите имя пользователя как User_a WHERE (ID = dws.Адело))
AS AssWork, FromDate, ToDate, DescATask FROM Status AS ws