Форум программистов, компьютерный форум, киберфорум
C#: Базы данных
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.98/58: Рейтинг темы: голосов - 58, средняя оценка - 4.98
168 / 140 / 23
Регистрация: 02.01.2011
Сообщений: 913

Работа с базой данных

05.04.2011, 13:35. Показов 11669. Ответов 13
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Как составить запрос к базе данных чтобы получить данные определенной таблицы по нескольким столбцам между полночью сегодняшнего дня и полночью предыдушего, т.е. как в запрос поместить что-то типа GetCurrrentDate? Да, и чтобы не зависеть от формата SQLL Server TimeStamp? Спасибо
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
05.04.2011, 13:35
Ответы с готовыми решениями:

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

Работа с базой данных
Всем привет! Сейчас делаю программу по учёту рабочего времени. Есть одна проблемка. Состоит она в том, что не плюсуеться отработанное...

Работа с базой данных
Есть обычное клиент-серверное приложение на сокетах. Сервер - обычное консольное приложение. Задача такова: При нажатии на кнопку в...

13
87 / 85 / 10
Регистрация: 04.04.2011
Сообщений: 221
05.04.2011, 13:49
C#
1
2
3
4
cmd = new OleDBCommand(cmdStr, locCon);
cmd.Parameters.Clear();
cmd.Parameters.Add("@startdate", OleDbType.Date);
cmd.Parameters["@startdate"].Value = zz.startDate;
Соответственно в строке запроса нужно использовать конструкцию тип
T-SQL
1
"datafield = @startdate"
0
168 / 140 / 23
Регистрация: 02.01.2011
Сообщений: 913
05.04.2011, 14:59  [ТС]
Спасибо, только непонятно, можно подробнее?
0
87 / 85 / 10
Регистрация: 04.04.2011
Сообщений: 221
05.04.2011, 15:01
iva_a, напишите пример кода, где вы делаете запрос - я на вашем коде попытаюсь объяснить
0
168 / 140 / 23
Регистрация: 02.01.2011
Сообщений: 913
05.04.2011, 15:15  [ТС]
Ну, пока я находила имена нужных таблиц и столбцов в них. теперь задача другая, но принцип обрашени я вроде тот же, нет?мне нужно обратиться к другой базе и получить уже сами данные. Parameter не использовала. Только коммандную строку. Неправильно? Но работает Критикуйте!!!
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
 var conn1 = new SqlConnection(conn.ConnectionString);
            try
            {
 
                conn1.Open();
                Console.WriteLine("DB MonitoredRemoteUnits connected");
                Console.ReadKey();
                // DB
                SqlCommand cmd = new SqlCommand(select1, conn1);
                SqlDataReader reader = cmd.ExecuteReader();
                
                while (reader.Read())
                {
 
                    Console.WriteLine("ChanelID : {0} ColumnIndex : {1} Name: {2} UnitID: {3}",
                    reader[0], reader[1], reader[2], reader[3]);
                    sFileName.Add(Convert.ToString(reader[2]));
                    sFullFileName.Add(DateTime.Now.Year + "_" + DateTime.Now.Month + "_" + Convert.ToString(reader[2]));
 
                }
                var uniq = sFileName.Distinct();//udalyayu povtoryayushiesya stroki
                var fullUnic = sFullFileName.Distinct();
 
 
                foreach (string s in fullUnic)//sohranyaem imya Unit
                {
                    fullUnicFileName.Add(s);
                    Console.WriteLine("Full Name:   !!!!!!!!!! " + s);
                }
                Console.ReadKey();
0
87 / 85 / 10
Регистрация: 04.04.2011
Сообщений: 221
05.04.2011, 15:33
Если работает, то чего критиковать?
И потом, не известна постановка задачи, не видно самого запроса, не известна структура таблицы - как можно что-то конкретное сказать?
0
168 / 140 / 23
Регистрация: 02.01.2011
Сообщений: 913
05.04.2011, 15:36  [ТС]
Да я просто пример привела, что не писала еше parameters Сеичас другая задача не получается(см.выше)Я никак не могу красиво составить строку запроса запуталась в between ...
0
87 / 85 / 10
Регистрация: 04.04.2011
Сообщений: 221
05.04.2011, 15:39
iva_a, напиши запрос, какой ты хочешь получить (там где запуталась так и укажи "вот тут не могу понять"). Нельзя поставить диагноз не получив анализов.
0
168 / 140 / 23
Регистрация: 02.01.2011
Сообщений: 913
05.04.2011, 15:50  [ТС]
Пишу прямо в Nеw SQL queru v SQLSERVER2008,т.е. еше даже не С#

C#
1
2
3
4
5
SELECT [MonitoredRemoteUnits_DataStorage].dbo.[UnitData_111049].TimeStamp,
        [MonitoredRemoteUnits_DataStorage].dbo.[UnitData_111049].Channel1,
        [MonitoredRemoteUnits_DataStorage].dbo.[UnitData_111049].Channel3
FROM [MonitoredRemoteUnits_DataStorage].dbo.[UnitData_111049]
WHERE [MonitoredRemoteUnits_DataStorage].dbo.[UnitData_111049].TimeStamp BETWEEN [MonitoredRemoteUnits_DataStorage].dbo.[UnitData_111049].TimeStamp=GETDATE AND [MonitoredRemoteUnits_DataStorage].dbo.[UnitData_111049].TimeStamp=(GETDATE-12)
Получаю ошибку
Msg 102, Level 15, State 1, Line 5
Incorrect syntax near '='.
0
87 / 85 / 10
Регистрация: 04.04.2011
Сообщений: 221
05.04.2011, 15:57
iva_a, http://msdn.microsoft.com/ru-r... 87922.aspx - Читаем внимательно и исправляем:

T-SQL
1
BETWEEN [MonitoredRemoteUnits_DataStorage].dbo.[UnitData_111049].TimeStamp=GETDATE AND [MonitoredRemoteUnits_DataStorage].dbo.[UnitData_111049].TimeStamp=(GETDATE-12)
на

T-SQL
1
BETWEEN GETDATE() AND (GETDATE()-12)
Только не понятно, зачем вы время сверяете с датой и еще отнимаете 12 дней?

Если вам нужно проверить от 0 часов до 23-59, то проверяйте DateStamp с текущей датой безо всяких "битвин"
0
168 / 140 / 23
Регистрация: 02.01.2011
Сообщений: 913
05.04.2011, 16:12  [ТС]
Упсс! Мне надо за последние не 12 днеи, 12 часов или 24 часа!!!
0
87 / 85 / 10
Регистрация: 04.04.2011
Сообщений: 221
05.04.2011, 16:16
Функция GetDate возвращает дату. Но можно ее перевести и в формат времени.
Посмотри по той ссылке, что я дал.
1
168 / 140 / 23
Регистрация: 02.01.2011
Сообщений: 913
05.04.2011, 16:35  [ТС]
Спасибо, сеичас посмотрю

Добавлено через 12 минут
И вдогонку... Делаю
C#
1
SELECT CONVERT (TIME, GETUTCDATE());
И получаю странное время 22:28:34:930000,т.е. вместо 3 дня 10 вечера? С этим можно как-то бороться?

Добавлено через 2 минуты
Поняла! Все нормально!
C#
1
2
SELECT CONVERT (date, GETDATE());
SELECT CONVERT (TIME, GETDATE());
0
87 / 85 / 10
Регистрация: 04.04.2011
Сообщений: 221
05.04.2011, 16:39
iva_a, приводи дату к формату Date-time.

Вот более полное описание формата даты и времени: http://msdn.microsoft.com/ru-r... 80878.aspx

Т.е. и поле и функцию GETDATE() не нужно конвертировать - они будут возвращаться в формате DateTime
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
05.04.2011, 16:39
Помогаю со студенческими работами здесь

Работа с Базой Данных SQLCE 2
Уважаемые разработчики, подскажите пожалуйста как можно решить данную задачу Суть в следующим: Есть две формы, в первой форме в...

Работа с базой данных на сервере
Здравствуйте! Подскажите пожалуйста, как работать в VB.NET с базой данных MS SQL Server которая храниться на сервере? Если быть точнее...

EF работа с файлами и базой данных
Добрый день. Есть программа, в ней присутствуют объекты, к каждому объекту должен быть прикреплён файл. Подскажите пожалуйста, каким...

Работа с access базой данных
Добрый день, совсем начинающий в работе с базами данных не помучается сделать два вопроса. Смысл программы сделать полную копию бд в...

Работа с базой данных Access
Доброго времени суток. Есть база данных созданная в Access. Она подключена к проекту. Существует необходимость изъять данные из таблицы,...


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

Или воспользуйтесь поиском по форуму:
14
Ответ Создать тему
Новые блоги и статьи
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США. Нашел на реддите интересную статью под названием «Кто-нибудь знает, где получить бесплатный компьютер или. . .
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод. Thinkpad X220 Tablet —. . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru