Форум программистов, компьютерный форум, киберфорум
C#: Базы данных
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
0 / 0 / 1
Регистрация: 08.04.2018
Сообщений: 60

Вычисление суммы

08.10.2019, 12:11. Показов 908. Ответов 2

Студворк — интернет-сервис помощи студентам
У меня есть две таблицы Trip (Рисунок 1) и SpendByDays (Рисунок 2). В Trip есть пустое поле СУММА. Мне нужно вычислить это поле в C#.
К примеру, на таблице (Рисунок 5), там где Харбада от 7 октября до 10 октября, в сумме должно быть 41 рублей.

Я сделала такой запрос, но он неправильно вычисляет, может Вы знаете в чем ошибка?
SQL
1
SELECT SUM(CASE WHEN Trip.Date1 <= SpendByDays.Date AND Trip.Date2 >= SpendByDays.Date THEN SpendByDays.Price ELSE 0 END) AS k FROM SpendByDays, Trip WHERE Trip.ID_trip=SpendByDays.ID_trip

Вот мой код в C#:
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
            decimal sum = 0;
            string connectionString = @"Data Source=.\SQLEXPRESS;Initial Catalog=Database1;Integrated Security=True";
                    SqlConnection conn = new SqlConnection(connectionString);
                    using (var cmd = conn.CreateCommand())
                    {
                        SqlDataReader myReader = null;
                        SqlCommand myCommand = new SqlCommand("SELECT SUM(CASE WHEN Trip.Date1 <= SpendByDays.Date AND Trip.Date2 >= SpendByDays.Date THEN SpendByDays.Price ELSE 0 END) AS k FROM SpendByDays, Trip WHERE Trip.ID_trip=SpendByDays.ID_trip", conn);
                        conn.Open();
                        myReader = myCommand.ExecuteReader();
                        while (myReader.Read())
                        {
                            sum = Convert.ToDecimal(myReader["k"].ToString());
                        }
                        myReader.Close();
                        conn.Close();
 
                        cmd.CommandText = "SELECT ListOfCity.NameOfCity, ListOfCity.NameOfCountry, ListOfTour.NameOfTour, Trip.Date1, Trip.Date2, Trip.Summa FROM ListOfCity, ListOfTour, Trip, SpendByDays WHERE ListOfCity.ID_city=Trip.ID_city AND ListOfTour.ID_tour=Trip.ID_tour AND Trip.ID_trip=SpendByDays.ID_trip AND Trip.Summa=@sum";
                        cmd.Parameters.Clear();
                        cmd.Parameters.AddWithValue("sum", sum);
                        conn.Open();
                        cmd.ExecuteNonQuery();
                        conn.Close();
                        dataTable3TableAdapter.Connection.Close();
                        dataTable3TableAdapter.Connection.Open();
                        dataTable3TableAdapter.Adapter.SelectCommand.CommandText = "SELECT ListOfCity.NameOfCity, ListOfCity.NameOfCountry, ListOfTour.NameOfTour, Trip.Date1, Trip.Date2, Trip.Summa," +
                            "Trip.ID_trip, SpendByDays.ID_trip, ListOfCity.ID_city, Trip.ID_city, ListOfTour.ID_tour, Trip.ID_tour FROM Trip, ListOfCity, SpendByDays, ListOfTour WHERE ListOfCity.ID_city=Trip.ID_city AND ListOfTour.ID_tour=Trip.ID_tour AND SpendByDays.ID_trip=Trip.ID_trip";
                        dataTable3TableAdapter.Adapter.SelectCommand.Parameters.Clear();                        
                        dataTable3TableAdapter.Adapter.SelectCommand.ExecuteReader();
                        dataTable3TableAdapter.Connection.Close();
                        database1DataSet.DataTable3.Clear();
                        dataTable3TableAdapter.Adapter.Fill(database1DataSet.DataTable3);                        
                        conn.Close();
                    }
Миниатюры
Вычисление суммы   Вычисление суммы   Вычисление суммы  

Вычисление суммы   Вычисление суммы  
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
08.10.2019, 12:11
Ответы с готовыми решениями:

Вычисление суммы столбцов
Добрый день! Подскажите пожалуйста один момент. Есть база данных sqlite с таблицей. В нее записываются данные :@ &quot;name&quot;,...

Массив вычисление суммы элементов
Не могу разобраться в чем ошибка. using System; class mass { public static void Main() { int m = new int...

Вычисление контрольной суммы LRC
Здравствуйте! Пишу библиотеку для работы с одним устройством. В качестве эталона есть сторонняя программа. Например что бы...

2
2810 / 1679 / 885
Регистрация: 14.04.2015
Сообщений: 5,723
09.10.2019, 10:19
KsEnHH,
Харбада от 7 октября до 10 октября, в сумме должно быть 41 рублей.
и почему должно?
0
Эксперт .NET
 Аватар для kolorotur
17823 / 12973 / 3382
Регистрация: 17.09.2011
Сообщений: 21,261
09.10.2019, 11:04
Что, Шарм-эш-Шейх тоже уже отдемократили, что он отдельной страной стал?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
09.10.2019, 11:04
Помогаю со студенческими работами здесь

Оформить в виде функции вычисление среднеарифметического, вычисление суммы и произведения чисел
2. Даны три числа. Оформить в виде функции вычисление среднеарифметического, вычисление суммы и произведения этих чисел.

Вычисление суммы четных и суммы нечетных чисел в одномерном массиве
1) Написать программу для вычисления суммы четных и суммы нечетных чисел в одномерном массиве!

Ввод элементов массива с клавиатуры, вычисление суммы по формуле, нахождение максимальной суммы
Помогите дополнить код. Нужно, чтоб элементы массива вводились с клавиатуры. Выводилось на экран все суммы, которые вычисляются по формуле,...

Составить программу вычисления суммы строк элементов матрицы. Вычисление суммы оформть в виде процедуры.
Составить программу вычисления суммы строкэлементов матрицы. Вычисление суммы оформить в виде процедуры.

Составить программу вычисления суммы четных строк элементов матрицы. Вычисление суммы и вывод исходных данных оформись в виде процедуры
Составить программу вычисления суммы четных строк элементов матрицы. Вычисление суммы и вывод исходных данных оформись в виде процедуры


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
Настройки VS Code
Loafer 13.04.2026
{ "cmake. configureOnOpen": false, "diffEditor. ignoreTrimWhitespace": true, "editor. guides. bracketPairs": "active", "extensions. ignoreRecommendations": true, . . .
Оптимизация кода на разграничение прав доступа к элементам формы
Maks 13.04.2026
Алгоритм из решения ниже реализован на нетиповом документе, разработанного в конфигурации КА2. Задачи, как таковой, поставлено не было, проделанное ниже исключительно моя инициатива. Было так:. . .
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: реализовать контроль корректности заполнения дат назначения. . .
Архитектура слоя интернета для сервера-слоя.
Hrethgir 11.04.2026
В продолжение https:/ / www. cyberforum. ru/ blogs/ 223907/ 10860. html Знаешь что я подумал? Раз мы все источники пишем в голове ветки, то ничего не мешает добавить в голову такой источник, который сам. . .
Подстановка значения реквизита справочника в табличную часть документа
Maks 10.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: при выборе сотрудника (справочник Сотрудники) в ТЧ документа. . .
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях. Задача: при копировании документа очищать определенные реквизиты и табличную. . .
модель ЗдравоСохранения 8. Подготовка к разному выполнению заданий
anaschu 08.04.2026
https:/ / github. com/ shumilovas/ med2. git main ветка * содержимое блока дэлэй из старой модели теперь внутри зайца новой модели 8ATzM_2aurI
Блокировка документа от изменений, если он открыт у другого пользователя
Maks 08.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в конфигурации КА2. Задача: запретить редактирование документа, если он открыт у другого пользователя. / / . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru