powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / Вопрос по запросу
10 сообщений из 10, страница 1 из 1
Вопрос по запросу
    #35339486
hum_i
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Добрый день! У меня такой вопрос, есть один запрос вот такого вида

select income from
(select ...........................)
union all
select sum(income) from
(select ...........................
union all
select ...........................)
union all
select sum(income) from
(select ...........................
union all
select ...........................)

В цикле я вытаскиваю поле income
Код: plaintext
1.
2.
3.
4.
i =  5         
        While drCOMSUBS.Read           
            ws.Cells(i,  3 ) = drCOMSUBS( 0 )
            i = i +  1          
        End While
Должно получится 3 записи, но выходит только одна. Проверяла через отладчик, вес вроде нормально, три раза в цикле прокручивается, ошибок ни каких не выдает. Не пойму в чем дело. Помогите пожалуйста разобраться.
...
Рейтинг: 0 / 0
Вопрос по запросу
    #35341928
hum_i
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Добрый день! Я поняла, в чем причина. В общем в самом запросе указывается и дата и время, вот таким образом
select income from
(select ...........................
where ...
and date_time >= to_date('24.05.2008 00:00:00','dd/mm/yyyy hh24:mi:ss')
and date_time <= to_date('24.05.2008 23:59:59','dd/mm/yyyy hh24:mi:ss'))
union all
select sum(income) from
(select ...........................
union all
select ...........................)
union all
select sum(income) from
(select ...........................
union all
select ...........................)
А в программе я использую параметры.
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
Dim ps, pe As New OracleClient.OracleParameter
        ps.ParameterName = ":START_DATE"
        ps.Direction = ParameterDirection.Input
        ps.OracleType = OracleType.DateTime
        ps.Value = DTPd1.Text        
        commCOMSUBS.Parameters.Add(ps)

        pe.ParameterName = ":END_DATE"
        pe.Direction = ParameterDirection.Input
        pe.OracleType = OracleType.DateTime
        pe.Value = DTPd2.Text
        commCOMSUBS.Parameters.Add(pe)
На форме 2 DateTimePicker-а: DTPd1 и DTPd2. И когда программа работает, пользователь выбирает дату, и эта дата вставляется в запрос. Так вот причина в том, что вставляет он только дату, а нужно и время тоже. Я посмотрела в свойстве компонента DateTimePicker-Format есть такие значения как: Long, Short, Time и Custom. Наверное нужно выбрать Custom, но что-то не совсем понимаю как действовать дальше. Помогите пожалуйста разобраться?


которые при работе программы значения которые выбирает пользователь подставлет в запрос через параметр
...
Рейтинг: 0 / 0
Вопрос по запросу
    #35343313
Savl Khafiz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
после заполняете customformat у datetimepicker - dd.MM.yyyy HH:mm:ss
...
Рейтинг: 0 / 0
Вопрос по запросу
    #35343565
hum_i
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Добрый день! В общем я во одном приложении посмотрела, как это должно быть. На форму кидают 2 компонента DateTimePicker-для выбора даты и MaskedTextBox (в котором прописываем такую маску 00:00:00)-для ввода времени. Но вот кода нет, чтобы посмотреть как это работает. Раньше, когда нужна была только дата я вставляла параметр даты в запрос следующим образом (см. часть кода ниже) и все работало прекрасно. А теперь мне нужно еще и время указывать. Я подумала, что наверное нужно для временя отдельные параметры, к примеру :START_TIME и :END_TIME, но как и в запрос включит не пойму. Помогите, как это сделать?
Код: plaintext
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.
Dim commCOMSUBS As New OracleCommand("select income from
(select ...........................
where ...
and date_time >= to_date(:START_DATE,'dd/mm/yyyy hh24:mi:ss')
and date_time <= to_date(:END_DATE,'dd/mm/yyyy hh24:mi:ss'))
union all
select sum(income) from 
(select ...........................
union all
select ...........................)
union all 
select sum(income) from 
(select ...........................
union all
select ...........................)", conn)
commCOMSUBS.CommandType = CommandType.Text

        Dim psd, ped, As New OracleClient.OracleParameter
        psd.ParameterName = ":START_DATE"
        psd.Direction = ParameterDirection.Input
        psd.OracleType = OracleType.DateTime
        psd.Value = DTPd1.Text
        commCOMSUBS.Parameters.Add(psd)
        
        ped.ParameterName = ":END_DATE"
        ped.Direction = ParameterDirection.Input
        ped.OracleType = OracleType.DateTime
        ped.Value = DTPd2.Text
        commCOMSUBS.Parameters.Add(ped)  
...
Рейтинг: 0 / 0
Вопрос по запросу
    #35346013
hum_i
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я смотрю, помочь не кто не может. Неужели ни кто с таким вопросом не сталкивался?
...
Рейтинг: 0 / 0
Вопрос по запросу
    #35346240
AlexeiK
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
Format(varDate, "  yyyymmdd\ hh:mm:ss  ")

выход такой : 20080101 00:00:00
...
Рейтинг: 0 / 0
Вопрос по запросу
    #35346248
AlexeiK
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ох. тут оракл. я привел пример для ms sql.
...
Рейтинг: 0 / 0
Вопрос по запросу
    #35346456
Фотография WYPMAH
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hum_iЯ смотрю, помочь не кто не может. Неужели ни кто с таким вопросом не сталкивался?
а если попробывать заместо DateTime параметра, передавать VarChar?
ведь в этой конструкции:
Код: plaintext
1.
and date_time >= to_date(:START_DATE, 'dd.mm.yyyy hh:mi:ss')
and date_time <= to_date(:END_DATE, 'dd.mm.yyyy hh:mi:ss')
именно varchar и нужен.
...
Рейтинг: 0 / 0
Вопрос по запросу
    #35346458
Фотография WYPMAH
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hum_i
да, и еще, не знаю с чем это связано, может все же нужно прикрутить родного прова, но даже если написать не параметризированный запрос и в значении даты тупо вбить, например, в моем варианте, есть запись за 19.05.2008 09:15:35:

Код: plaintext
date_op = to_date('19.05.2008 09:15:35', 'dd.mm.yyyy hh:mi:ss')

, то все равно результат будет 0 записей, хотя данный запрос успешно отрабатывает в pl/sql девелопере.
...
Рейтинг: 0 / 0
Вопрос по запросу
    #35351878
hum_i
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Добрый день! Да, действительно нужно было передавать VarChar. Спасибо за помощь.
...
Рейтинг: 0 / 0
10 сообщений из 10, страница 1 из 1
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / Вопрос по запросу
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]