Страницы

27 сентября 2012 г.

pgScript. Работа с датами (представление значений в скрипте).

Доброго времени суток.

       pgScript во время выполнения подствляет вместо именованных переменных их значения, причем просто заметой имени на значения прямо в текста скрипта. Может быть для скриптовых языков (в общем случае) это не новость, но я столкнулся с этим впервые.
       На кануне мне довелось написать скрипток который выполняет запрос с фильтрацией по дате. Дата для фильтрации выбиралась в переменную скрипта, а позже использовалась в запросе.

Скрипт:
declare @SesRec,
 @i,
 @date_session;

begin
 set @SesRec = select to_char(session_begin, 'YYYY-MM-DD') from session order by session_begin;

 set @i = 0;
 while @SesRec[@i][0]
 begin
  set @date_session = @SesRec[@i][0];
  print @date_session;
  update "session" set
   id_session = @i
  where session_begin::date = '@date_session'::date;
   set @i = @i+1;
 end
end


Обратите внимание на запрос, а именно на способ подстановки переменной "@data_session":
update "session" set
 id_session = @i
where session_begin::date = '@date_session'::date;

pgScript интерпретировал такой запрос так:
[QUERY    ] 
update "session" set
 id_session = 0
where session_begin::date = '1900-01-01'::date
и выполнил его корректно!
Записи типа:
update "session" set
 id_session = @i
where session_begin::date = @date_session::date;
--**********************************************
update "session" set
 id_session = @i
where session_begin::date = ''||@date_session||''::date;
--**********************************************
update "session" set
 id_session = @i
where session_begin::date = quote_literal(@date_session)::date;

Работать не будут!

20 сентября 2012 г.

Вирусы атакуют!!! или Epic Fail! (humor)

Приветствую.
Уже не первый раз встречаю попытки "вылечить" мой компьютер от злостных вирусов...
И каждый раз меня это жутко веселит )))

Вы не поверите, система настолько продвинута, что даже нашла кучу вирусов:

13 сентября 2012 г.

Delphi XE2. FastReport. Ошибка: Cannot find class TfrxReport.

Доброго времени суток.
С Delphi XE2 поставляется генератор отчетов FastReport 4. При попытке им поспользоваться обнаружлся неприятный глюк. Если разместить компонент отчета (TfrxReport), на форме, открыть постоитель отчета, построить отчет, сохранить все построеное в файл *.fr3. То в случае перезапуска проекта и попытке открыть дизайнером frxReport сохраненный ранее файл *.fr3, то вылетит ошибка "Cannot find class TfrxReport", и отчет не откроется.
Разработчики пофиксили баг. (источник тут).

Чтобы убить баг, нужно:
  1. Закрыть Delphi XE2.
  2. Скачать архив исправленных модулей отсюда.
  3. Найти место куда встал FastReport (у меня это - "C:\Program Files\FastReports\")
  4. Скопировать файлы (с заменой) из скачанного архива (из папки "LibD16") а директорию "C:\Program Files\FastReports\LibD16\".
  5. Запустить Delphi XE2.


6 сентября 2012 г.

Основы С++. Видео лекция

Первая лекция! Остальное по ссылке внизу ролика.

Посмотреть видео на сайте Лекториума

Базы данных. Видео лекции

Решил просмотреть курс лекций по Базам Данных. Лектор - И.Тетерин.
Просмотрев первую лекцию (первые ~40 мин. видео, все остальное - "шум") принял решение продолжать просмотр и поделиться метериалами.
Все остальное по ссылке ниже ролика.


Посмотреть видео на сайте Лекториума