Форум программистов, компьютерный форум, киберфорум
C#: Базы данных
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/6: Рейтинг темы: голосов - 6, средняя оценка - 4.67
 Аватар для daruwanov
77 / 58 / 8
Регистрация: 10.03.2011
Сообщений: 354

Нужен совет -составить правильно условие запроса

28.05.2012, 18:32. Показов 1269. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Всем Доброго времени суток есть таблица в которую при определенных условиях записываются данные - одно из полей таблицы это поле типа DateTIme

Записываю следующим образом..
C#
1
2
3
4
5
6
7
8
...
 
string sql = "insert into entry_registr (id_user_data , date_of_entry) values (@iduserdata, @dateofentry);";
command = new SqlCommand(sql, connect);
command.Parameters.Add("@iduserdata", SqlDbType.Int).Value = UserData.id_user_data;
command.Parameters.Add("@dateofentry", SqlDbType.DateTime).Value = DateTime.Now;
 
...
Тут нареканий нет а вот при выборке данных по определенной дате не могу сделать...

C#
1
2
3
4
5
6
7
...
string sql = "select * from entry_registr where date_of_entry > @dateofentry1 AND date_of_entry < @dateofentry2; ";
command = new SqlCommand(sql, connect);
command.Parameters.Add("@dateofentry1", SqlDbType.DateTime).Value = date.AddDays(-1.00);//Прошлый день - date это дата относительно которой нужно показать записи
command.Parameters.Add("@dateofentry2", SqlDbType.DateTime).Value = date.AddDays(1.00);//следующий день
SqlDataReader reader1 = command.ExecuteReader();
...
Это работает не совсем корректно - допустим - если в базе есть записи за 28.05.2012 - которые отличаются только временем... то при смене даты на любую другую все работает ничего не подгружается... но при выборе 27 28 29 числа подгружаются все даты за эти дни а не только за конкретный...
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
28.05.2012, 18:32
Ответы с готовыми решениями:

Правильно ли я реализовываю добавляемые пользователем поля в менеджер контактов. Код есть. Нужен совет, если не правильно делаю
Как я хочу это дело осуществить. Я в класс Contact добавлю какое-то кол-во свойств (BirthDay, FullName, MobilePhoneNumber и т.д.), но я так...

Правильно составить строку запроса
Привет! Делаю интерфейс к БД.mdb Запарился делать передачу строки запроса с выборкой по условию. private void...

Нужен совет как обработать результат запроса из mysql
Подскажите пожалуйста как реализовать данную задачу. есть таблица с типами полей int|text|tinyint|...|tinyint|text (tinyint по умолчанию...

4
Эксперт Java
 Аватар для turbanoff
4094 / 3828 / 745
Регистрация: 18.05.2010
Сообщений: 9,331
Записей в блоге: 12
29.05.2012, 12:11
Ничего не понял, в чем проблема. Давате еще раз. По русски, с чувством с толком с расстановкой. С запятыми и примером. Что выдается при запросе, что должно выдаваться.
1
 Аватар для daruwanov
77 / 58 / 8
Регистрация: 10.03.2011
Сообщений: 354
29.05.2012, 16:44  [ТС]
на форме я выбираю дату и мне нужно что бы при выборе даты - в листвью высвечивались записи только за выбранную дату.
при попытке поставить в запросе равно
C#
1
string sql = "select * from entry_registr where date_of_entry =  @dateofentry1;";
где @dateofentry1 равно DAtetime.Now;
оно ничего не выдает потому как - я так понимаю учитывается и время часы минуты секунды.
потому я пытался указать запрос все записи старше прошлого дня от требуемой даты и младше следующего дня

в посте который был выше два куска кода - первый тот который вносит записи в таблицу - второй тот который выбирает запись по нужной дате... так вот при выборке даты оно не отрабатывает так как оно того хотелось вот у меня есть несколько записей датой 28.05.12 а разное время и пару записей за 29.05.30 и при выборке записей за 29 оно отображает весь список (и 28 и 29) при выборке за 28 оно подхватывает все записи кроме последней за 29 а при выборке за 30 число оно подхватывает самую последнюю за 29 все другие даты которые не так сильно граничат с датами в списке все нормально

 Комментарий модератора 
daruwanov, ты знаешь, что в русском языке есть знаки препинания? Очень рекомендую изучить и использовать. Эту кашу читать не возможно, мозг взрывается. Пока что предупреждение
0
 Аватар для andrew_w2k
341 / 341 / 90
Регистрация: 04.03.2010
Сообщений: 648
30.05.2012, 09:43
Если я правильно понял...
Как вариант (если время не критично) Пишите в бд дату без времени:
C#
1
DateTime.Now.ToShortDateString()
Либо (если учитывать время)
C#
1
2
3
4
5
string sql = "select * from entry_registr where date_of_entry >= @dateofentry1 AND date_of_entry < @dateofentry2; ";
command = new SqlCommand(sql, connect);
command.Parameters.Add("@dateofentry1", SqlDbType.DateTime).Value = date;//Прошлый день - date это дата относительно которой нужно показать записи
command.Parameters.Add("@dateofentry2", SqlDbType.DateTime).Value = date.AddDays(1);//следующий день
SqlDataReader reader1 = command.ExecuteReader();
1
 Аватар для daruwanov
77 / 58 / 8
Регистрация: 10.03.2011
Сообщений: 354
04.06.2012, 01:29  [ТС]
Прошу прощения, за "безпунктуационную горячку", - залил на ноутбуке клавиатуру, и остался без нее родимой(клавиатуры). и Пришлось писать с помощью экранной.

Что касается последнего примера - поняли правильно - спасибо, но само решение тоже работало с погрешностью, если даты шли друг за другом. Пришлось при сравнении дат, часы, минуты и секунды сводить в ноль ноль, и сравнивать от точного начала дня, до точного конца.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
04.06.2012, 01:29
Помогаю со студенческими работами здесь

Обработка результата запроса. Очень нужен дельный совет
Добрый день дорогие форумчане))) !!! Всех с наступившим новым годом!!! Очень нужна любая помощь в следующем: Есть задача по...

Нужен совет, как правильно написать клас
Всем привет! Уже пару дней бьюсь не могу написать такую вещь. Мне нужен клас. Его конструктор по умолчанию запривачен (объект этого...

Нужен совет. Как правильно исправит код ?
#include&lt;iostream&gt; using namespace std; int main() { int count; cin &gt;&gt; count; for (int counter = 0; counter &lt; count;...

Правильно составить условие if then
Привет! Помогите задать значение для then ,то есть я хочу когда пишешь (-) оно отнимало если (+) соответственно прибавляло, вот что у...

Как правильно составить условие if
У меня в текстовом документе находится 200 чисел по порядку от 1 до 200 При создании формы я генерирую число в диапазоне от 1 до 224 ...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем. . . .
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
SDL3 для Web (WebAssembly): Сборка библиотек: SDL3, Box2D, FreeType, SDL3_ttf, SDL3_mixer и SDL3_image из исходников с помощью CMake и Emscripten
8Observer8 27.02.2026
Недавно вышла версия 3. 4. 2 библиотеки SDL3. На странице официальной релиза доступны исходники, готовые DLL (для x86, x64, arm64), а также библиотеки для разработки под Android, MinGW и Visual Studio. . . .
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru