Zeos и макросы
Модератор: Модераторы
- alexs
- долгожитель
- Сообщения: 4069
- Зарегистрирован: 15.05.2005 23:17:07
- Откуда: г.Ставрополь
- Контактная информация:
Zeos и макросы
После прсомотра вариантов работы с PostgreSQL пришёл к выводу, что лучше zeos на данный момент нет.
Но в нём нет макросов. Или я ошибаюсь?
Иначе прийдётся допиливать (RxQuery наше спасение)...
Но в нём нет макросов. Или я ошибаюсь?
Иначе прийдётся допиливать (RxQuery наше спасение)...
а уточните , что подразумеваете под термином - макросы
- alexs
- долгожитель
- Сообщения: 4069
- Зарегистрирован: 15.05.2005 23:17:07
- Откуда: г.Ставрополь
- Контактная информация:
Инструмент, позволяющий менять часть текста SQL запроса, без перезаписи все запроса.
В FBDataSet такая фича есть
.
Ну уже, собственно говоря, вопрос решён. На основе ZQuery сделал новый компонен, в котором макросы есть.
Сейчас ломаю zeos на предмет нормально работы с UTF8.
В FBDataSet такая фича есть
Ну уже, собственно говоря, вопрос решён. На основе ZQuery сделал новый компонен, в котором макросы есть.
Сейчас ломаю zeos на предмет нормально работы с UTF8.
alexs писал(а):Сейчас ломаю zeos на предмет нормально работы с UTF8.
Вот это очень полезный момент ))
grigoreo писал(а):alexs писал(а):Сейчас ломаю zeos на предмет нормально работы с UTF8.
Вот это очень полезный момент ))
согласен с предыдущим оратором.
- Little_Roo
- энтузиаст
- Сообщения: 639
- Зарегистрирован: 27.02.2009 18:56:36
- Откуда: Санкт-Петербург
alexs писал(а): На основе ZQuery сделал новый компонен, в котором макросы есть.
ГДЕ-Е-Е ?????
- Little_Roo
- энтузиаст
- Сообщения: 639
- Зарегистрирован: 27.02.2009 18:56:36
- Откуда: Санкт-Петербург
alexs писал(а):Little_Roo писал(а):ГДЕ-Е-Е ?????
Могу выложить на шаманграде...
Ждем-с
Да, а как забрать ?
alexs писал(а):Сейчас ломаю zeos на предмет нормально работы с UTF8.
А что там не так с utf8?
какая версия zeos?
За ZMacroQuery спасибо!
Что за макросы ? По моему достаточно ZSQLProcessor, в нем можно готовить какие угодно запросы и скрипты и сразу их выполнять.
А с utf8 там все нормально, я с mysql 5.1 работаю уже давно. А если чтото не так, то поможет SET NAMES UTF8 ;
Добавлено спустя 3 минуты 49 секунд:
В PostgreSQL тоже должен быть аналог этой команды (указание в какой кодировке клиент посылает данные на сервер)
А с utf8 там все нормально, я с mysql 5.1 работаю уже давно. А если чтото не так, то поможет SET NAMES UTF8 ;
Добавлено спустя 3 минуты 49 секунд:
В PostgreSQL тоже должен быть аналог этой команды (указание в какой кодировке клиент посылает данные на сервер)
- alexs
- долгожитель
- Сообщения: 4069
- Зарегистрирован: 15.05.2005 23:17:07
- Откуда: г.Ставрополь
- Контактная информация:
Ism писал(а):Что за макросы ?
Изменение части теста запроса на лету. Обычно применяю при формировании условия WHERE. Например - поиск по наимениванию или по ИНН или по коду клиента.
Ism писал(а):А с utf8 там все нормально, я с mysql 5.1 работаю уже давно
Компоненты не верно выделяют буфер для хранения строк.
Например - объявлено строковое поле длинной 10 символов. Компонента выделяет буфер длинной 10 байт. UTF8 символ может занимать до 6 байт. Вот в этом вся проблема.
Кстати пошлите ZMacroQuery авторам zeos , может примут, если юзабелен 
А что мешает выделить 60 байт или сколько там нужно кратности ?
Например - объявлено строковое поле длинной 10 символов. Компонента выделяет буфер длинной 10 байт.
А что мешает выделить 60 байт или сколько там нужно кратности ?
- alexs
- долгожитель
- Сообщения: 4069
- Зарегистрирован: 15.05.2005 23:17:07
- Откуда: г.Ставрополь
- Контактная информация:
Ism писал(а):А что мешает выделить 60 байт или сколько там нужно кратности
Это я привёл для примера. Можно и больше - но проблема остаётся.
На самом деле проблема гораздо шире.
zeos читает из базы информацию о поле - 10 символов. Передаёт её в визуальные компоненты. Оператор вводит строку - 10 символов. Но так как буфер выделен в в 10 байт то физически сохранится в буфере 5 символов (русские символы - 2хбайтные). А если оператор при этом ещё в поле ввел число или английский символ (1 байт) то в русский символ в конце обрежится - и тут будет ещё и мат со стороны сервера (смолтри куды прёш - чего даёш мне сохранять?). Тоже самое и при чтении данных из БД. Символы режутся.
Например - у меня поле адреса контрагента 250 символов, и они используются на все 100%. Дам я адрес - 500 символов и их заколотят. Надо лечить ошибку, а не ставить костыли.
мх...Я тут пытался переделанную мной функцию ReadBlob для Oracle9i внести в исходники ZeosDBO когда NLS 1251, так парень бельгиец упорно не хотел вносить изменения...говорит сам доделай кусок у меня под Дельфи не компилируется. Не знаю чего он там мучился))) Убрать {$IFDEF FPC} да допилить надо было пару строчек. Плюнул сним переписываться. теперь просто беру злосчастную ReadBlob и меняю на свою при обновлении 
