sql datetime непонятки!
Модератор: Дед Пахом
Правила форума
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
sql datetime непонятки!
Народ помогите!
в MySQL есть поле datetime, как мне сделать в броузе выборку из базы MySQL по дате времени?
там есть группа с датой и временем, к ней крепится string(8) ссылку сделал но почему то не работает!
в MySQL есть поле datetime, как мне сделать в броузе выборку из базы MySQL по дате времени?
там есть группа с датой и временем, к ней крепится string(8) ссылку сделал но почему то не работает!
- WadimZapara
- Активист
- Сообщения: 181
- Зарегистрирован: 11 Июнь 2008, 12:11
- Откуда: Тамбов
Re: sql datetime непонятки!
а слабо дать команду
Твой_File{PROP:SQL} = 'SELECT всё_что_нужно FROM откуда_нужно WHERE нужное_условие_для_нужного_поля'
а потом
LOOP
Next(Твой_File); If ErrorCode() Then Break.
! Твоя обработка
END
Твой_File{PROP:SQL} = 'SELECT всё_что_нужно FROM откуда_нужно WHERE нужное_условие_для_нужного_поля'
а потом
LOOP
Next(Твой_File); If ErrorCode() Then Break.
! Твоя обработка
END
Компьютер имеет то преимущество перед мозгом, что им пользуются...
Re: sql datetime непонятки!
я бы с удовольствием, но мне надо чтобы данные показывались в броузе, сделать как написано выше не проблема
мне надо вывести данные в броуз по интервалу дат/времени
записей очень много(порядка 100.000-200.000 штук) по сути на основе этих данных надо построить график, но для начала хочу выкинуть данные в броуз, а потом буду делать вывод в график!
мне надо вывести данные в броуз по интервалу дат/времени
записей очень много(порядка 100.000-200.000 штук) по сути на основе этих данных надо построить график, но для начала хочу выкинуть данные в броуз, а потом буду делать вывод в график!
- WadimZapara
- Активист
- Сообщения: 181
- Зарегистрирован: 11 Июнь 2008, 12:11
- Откуда: Тамбов
Re: sql datetime непонятки!
Так опять же проблемы не вижу.beneton писал(а):я бы с удовольствием, но мне надо чтобы данные показывались в броузе, сделать как написано выше не проблема
мне надо вывести данные в броуз по интервалу дат/времени
записей очень много(порядка 100.000-200.000 штук) по сути на основе этих данных надо построить график, но для начала хочу выкинуть данные в броуз, а потом буду делать вывод в график!
Можно команду на выборку дать до ACCEPT'а, и в цикле считать не все записи NEXT'ом, а не более некоторого количества (или до ErrorCode().
А считывая помещать в нужную тебе очередь для бровза.
Потом, уже в ACCEPT'е по таймеру дососать в очередь остаток скажем по сотенке за итерацию, когда последовательность закончится - выключить таймер.
Эффект - окно с верхушкой списка открывается влёт, а дочитывание идёт уже, можно сказать, в фоне.
Кстати, заметно быстрее всё работает не через обычное CLARION-овское обращение, а через механизм
Код: Выделить всё
File{PROP:SQL} = команда
N_pa3 = 100; EndSequence = FALSE;
LOOP N_pa3
NEXT(File); If ErrorCode() Then EndSequence = TRUE; Break.
! Поместить в очередь
END !LOOP
OPEN(Win)
ACCEPT
CASE EVENT()
OF EVENT:OpenWindow
If ~EndSequence Then win{PROP:Timer} = 1.
OF EVENT:Timer
LOOP N_pa3
NEXT(File); If ErrorCode() Then EndSequence = TRUE; Break.
! Поместить в очередь
END !LOOP
If EndSequence Then win{PROP:Timer} = 0.
END !CASE EVENT()
END !ACCEPT
Главное, чтобы описанные кларионовские поля примерно соответствовали типу полей SQL-таблицы и имели атрибут NAME('имя_SQL_поля').
И выделяемый кларионом буфер файла при этом будет меньше, что опять же увеличивает эффективность.
Компьютер имеет то преимущество перед мозгом, что им пользуются...
-
- ✯ Ветеран ✯
- Сообщения: 5037
- Зарегистрирован: 28 Май 2009, 15:54
- Откуда: Москва
- Благодарил (а): 7 раз
- Поблагодарили: 23 раза
Re: sql datetime непонятки!
А попробуй импортировать эту таблицу в кларионовский словарь. Кларион должен сам распознать это поле. В принципе хелп говорит так:
ODBC TIMESTAMP fields can be manipulated using a STRING(8) followed by a GROUP over it which contains only a DATE field and a TIME field.
Example:
TimeStampField STRING(8),NAME('TimeStampField')
TimeStampGroup GROUP,OVER(TimeStampField)
TimeStampDate DATE
TimeStampTime TIME
END
CREATE creates a TIMESTAMP field if you use a similar structure.
ODBC TIMESTAMP fields can be manipulated using a STRING(8) followed by a GROUP over it which contains only a DATE field and a TIME field.
Example:
TimeStampField STRING(8),NAME('TimeStampField')
TimeStampGroup GROUP,OVER(TimeStampField)
TimeStampDate DATE
TimeStampTime TIME
END
CREATE creates a TIMESTAMP field if you use a similar structure.
We are hard at work… for you.
Re: sql datetime непонятки!
это все понятно, импортировать получилось, у меня даже этот стринг похож на стандартный, но вот отфильтровать не получается.
Мне надо сделать Range limit, а он не дает. при этом даже не выводит никаких ошибок, просто не находит записей удовлетворяющих условию!
Мне надо сделать Range limit, а он не дает. при этом даже не выводит никаких ошибок, просто не находит записей удовлетворяющих условию!
- Дед Пахом
- Старичок
- Сообщения: 3144
- Зарегистрирован: 07 Июль 2005, 16:51
- Откуда: Москва, Россия
- Благодарил (а): 11 раз
- Поблагодарили: 32 раза
- Контактная информация:
Re: sql datetime непонятки!
посмотри, какой фильтр (WHERE) на самом деле передаётся на сторону sql-сервера, должно помочь понять, где собака накрылась.
С уважением, ДП
-
- Ветеран
- Сообщения: 390
- Зарегистрирован: 26 Август 2009, 12:41
- Откуда: Moscow
- Контактная информация:
Re: sql datetime непонятки!
Или я чего-то недопонял, а почему не пользуем фильтр типа:
sql1='DATA=1234'
BRW1::View:Browse{prop:sqlfilter}=clip(left(sql1))
brw1.resetfrombuffer()
sql1='DATA=1234'
BRW1::View:Browse{prop:sqlfilter}=clip(left(sql1))
brw1.resetfrombuffer()
- WadimZapara
- Активист
- Сообщения: 181
- Зарегистрирован: 11 Июнь 2008, 12:11
- Откуда: Тамбов
Re: sql datetime непонятки!
А ещё: в DateTime (SQL) хранится и дата и время, поэтому если задавать фильтр на равенство какой-то дате, то вполне записи такие могут отсутствовать, если проверяемое поле таблицы заполняется, например, с помощью GetDate()
Компьютер имеет то преимущество перед мозгом, что им пользуются...
Re: sql datetime непонятки!
Спасибо всем! я сделал проще: выкинул все данные по нужному фильтру в очередь, а потом из очереди сделал вывод в график!
Народ помогите еще: почему то в репорте отображается только один график! второй ни в какую не хочет!
То есть одни нормально работает, а второй почему то не хочет отображаться!
Народ помогите еще: почему то в репорте отображается только один график! второй ни в какую не хочет!
То есть одни нормально работает, а второй почему то не хочет отображаться!