Форум программистов, компьютерный форум, киберфорум
Наши страницы
C#: Базы данных, ADO.NET
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.60/5: Рейтинг темы: голосов - 5, средняя оценка - 4.60
Mirzabek
0 / 0 / 0
Регистрация: 30.01.2018
Сообщений: 15
1

Не могу получить сегодняшние данные из базы данных

12.05.2018, 13:37. Просмотров 826. Ответов 10
Метки нет (Все метки)

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
string conString = @"Data Source=DESKTOP-8ALU3QH\SQLEXPRESS;Initial Catalog=ShopsDB;Integrated Security=True";
public ArrayList GetTodaysData(DateTime todayDate)
        {
            ArrayList currentDate = new ArrayList();
            using (SqlConnection con = new SqlConnection(conString))
            {
                SqlCommand com = new SqlCommand(@"SELECT
                                                *
                                                FROM 
                                                SelledProducts WHERE SelledDate='"+todayDate.ToString("MM/dd/yyyy")+"'", con);
                try
                {
                    con.Open();
                    SqlDataReader dr = com.ExecuteReader();
                    if (dr.HasRows)
                        foreach (DbDataRecord result in dr)
                            currentDate .Add(result);
                }
                catch
                {
 
                }
            }
            return currentDate ;
        }
Это код не поможет меня
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
12.05.2018, 13:37
Ответы с готовыми решениями:

Mysql Не могу получить ответ от базы данных
При запросе к базе данных не получаю ничего. хотя запрос правильный и работает...

Как для юзера получить индивидуальные данные из базы
Есть база из которой для каждого зарегистрированного пользователя MembershipAPI...

Не могу получить данные из SQL запроса
Есть таблица в формате *.DBF на FoxPro. Необходимо вытащить из нее некоторые...

Вывести данные из базы данных в lable
Доброго дня! Подскажите пожалуйста как вывести данные на Lable из базы данных,...

Загружаются данные из базы данных не по порядку
База Данных создана в SQLiteBrowser-e Подключаюсь к базе данных так ...

10
OwenGlendower
Супер-модератор
Эксперт .NET
9302 / 8166 / 3485
Регистрация: 17.03.2014
Сообщений: 16,190
Записей в блоге: 1
12.05.2018, 14:39 2
Цитата Сообщение от Mirzabek Посмотреть сообщение
Это код не поможет меня
Что именно происходит? Код генерирует исключение? Если да, то какое именно? Если исключения нет и метод просто ничего не возвращает, то попробуй запрос с параметром
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
string conString = @"Data Source=DESKTOP-8ALU3QH\SQLEXPRESS;Initial Catalog=ShopsDB;Integrated Security=True";
public List<DbDataRecord> GetTodaysData(DateTime todayDate)
        {
            List<DbDataRecord> currentDate = new List<DbDataRecord>();
            using (SqlConnection con = new SqlConnection(conString))
            {
                SqlCommand com = new SqlCommand(@"SELECT
                                                *
                                                FROM 
                                                SelledProducts WHERE SelledDate=@SelledDate", con);
                com.Parameters.AddWithValue("@SelledDate", todayDate);
                try
                {
                    con.Open();
                    using (SqlDataReader dr = com.ExecuteReader())
                    {
                        if (dr.HasRows)
                            foreach (DbDataRecord result in dr)
                                currentDate .Add(result);
                    }
                }
                catch
                {
 
                }
            }
            return currentDate ;
        }
Я изменил тип возвращаемого значения на List<DbDataRecord> т.к. он лучше чем ArrayList и добавил using для SqlDataReader т.к. его тоже нужно закрывать.

P.S. Пустой catch это очень плохая практика. Код может бросать исключения, а ты об этом можешь никогда и не узнать.
1
Mirzabek
0 / 0 / 0
Регистрация: 30.01.2018
Сообщений: 15
12.05.2018, 16:12  [ТС] 3
я использовал это в Form1.cs как

C#
1
dataGridView1.DataSource = dal.GetTodaysData(dtpFromDate.Value);
я только что начинаю изучат работа с базы данных в си шарп

Добавлено через 5 минут
C#
1
2
3
4
private void btnFiltr_Click(object sender, EventArgs e)
        {
            dgwSelled.DataSource = dal.GetTodaysData(dtpFromDate.Value, dtpToDate.Value);
        }
0
OwenGlendower
Супер-модератор
Эксперт .NET
9302 / 8166 / 3485
Регистрация: 17.03.2014
Сообщений: 16,190
Записей в блоге: 1
12.05.2018, 16:34 4
Цитата Сообщение от Mirzabek Посмотреть сообщение
использовал это в Form1.cs как
С каким результатом?
а) Код не компилируется?
б) Код выдает исключение?
в) Код компилмруется без ошибок, работает без исключений, но не дает желаемого результата?
0
Mirzabek
0 / 0 / 0
Регистрация: 30.01.2018
Сообщений: 15
12.05.2018, 17:18  [ТС] 5
в) Код компилмруется без ошибок, работает без исключений, но не дает желаемого результата

Добавлено через 22 минуты
Это программа для продажа товаров. программа записывается каждое проданные товары в таблица SelledProducts.
я хочу получить ежедневная информация о проданных товарах.
т.е. сколько товар продан сегодня
0
nedel
594 / 592 / 347
Регистрация: 09.04.2014
Сообщений: 1,411
Завершенные тесты: 1
12.05.2018, 18:46 6
Лучший ответ Сообщение было отмечено Mirzabek как решение

Решение

C#
1
2
3
4
5
 SqlCommand com = new SqlCommand(@"SELECT
                     *
                     FROM 
                     SelledProducts WHERE SelledDate BETWEEN @SelledDate AND @SelledDate+1", con);
com.Parameters.AddWithValue("@SelledDate", todayDate.Date);
1
Usaga
13.05.2018, 05:23
  #7

Не по теме:

nedel, чисто технически, ваш запрос не верен, ибо BETWEEN включает в диапазон и указанные граничные значения. Т.е. будут искаться записи за сегодня и за завтра. Понятно, что конкретно в данном случае, записей из будущего нет и результат будет выглядеть верно.

0
nedel
594 / 592 / 347
Регистрация: 09.04.2014
Сообщений: 1,411
Завершенные тесты: 1
13.05.2018, 13:47 8

Не по теме:

Цитата Сообщение от Usaga Посмотреть сообщение
чисто технически, ваш запрос не верен
я предположил, что SelledDate содержит не только дату но и время, поскольку WHERE SelledDate=@SelledDate не помогло



Добавлено через 8 минут
так будет точнее
C#
1
2
3
4
5
 SqlCommand com = new SqlCommand(@"SELECT
                     *
                     FROM 
                     SelledProducts WHERE SelledDate>=@SelledDate AND SelledDate<@SelledDate+1", con);
com.Parameters.AddWithValue("@SelledDate", todayDate.Date);
1
Mirzabek
0 / 0 / 0
Регистрация: 30.01.2018
Сообщений: 15
14.05.2018, 20:42  [ТС] 9
C#
1
2
3
4
5
SqlCommand com = new SqlCommand(@"SELECT
                     *
                     FROM 
                     SelledProducts WHERE SelledDate BETWEEN @SelledDate AND @SelledDate+1", con);
com.Parameters.AddWithValue("@SelledDate", todayDate.Date);

По моему это код работает правильно. Я пробовал. И ваш код буду пробовать.
Спасибо всех вам
0
Usaga
Эксперт .NET
5022 / 3350 / 598
Регистрация: 21.01.2016
Сообщений: 13,179
Завершенные тесты: 2
15.05.2018, 04:30 10
Цитата Сообщение от Mirzabek Посмотреть сообщение
По моему это код работает правильно.
Он работает правильно, пока вы ищете записи на текущую дату. В базе, скорее всего, нет записей за завтрашний день, потому запрос возвращает, вроде бы, верные данные.

Используйте вариант с SelledDate>=@SelledDate AND SelledDate<@SelledDate+1
0
Mirzabek
0 / 0 / 0
Регистрация: 30.01.2018
Сообщений: 15
15.05.2018, 06:32  [ТС] 11
Да, все понятно
0
15.05.2018, 06:32
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
15.05.2018, 06:32

Не могу вывести в ComboBox значение из базы данных
Доброго времени суток. Заполняю ComboBox так /// &lt;summary&gt; ...

Не могу разобраться с созданием базы данных VS2012
У меня есть некоторое задание по созданию базы данных в ms sql server и...

Добавить в таблицу Базы Данных данные из таблицы DataSet
Нужна ваш помощь. Пытаюсь добавить в таблицу базы данных все данные из...


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

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru