Собираем идеи на тему -чего не хватает в MAV Direct ODBC

Обсуждение MAV Direct ODBC

Модератор: Andrew™

Правила форума
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion и MAV который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
VishnuRU
Новичок
Сообщения: 15
Зарегистрирован: 17 Январь 2006, 12:01

Сообщение VishnuRU »

Про закладки. Посмотри, как в Browse у Вадима. Если , например, стили не активированы в ListBox, то надпись "Для активации стилей бла-бла-бла...". Поскольку у тебя места для таких информационных закладок мало, то можно сделать одну, а на ней по условиям выводить тексты типа "Хочешь дерево - поставь галочку", "Хочешь стили - поставь галочку" и т.д.. Если галочка поставлена, то связанного с ней текста на закладке нет. Или есть контекстно-зависимый для следующих вариантов с текущими настройками.

Про стили. Поразмыслил на досуге, нашел массу преимуществ у твоего варианта :) Но у Вадима с его двухуровневой системой они тоже есть.

У тебя получается, что стиль - это не только цвета-шрифты, но и условия. На мой взгляд стиль - это оформление без бизнес-правил. Можно скрестить преимущества подхода Вадима и твоего: цвета-шрифты описываются и хранятся отдельно как стиль (как у Вадима), а условия применения стилей можно наследовать (как у тебя).
В принципе, как решение, которое всегда можно заюзать, это логин окно в примерах из поставки, там можно выбрать любой зарегистрированный в ОС ODBC Driver, и при необходимости отредактировать формат строки соединения (ini файл), default формат имено тот о котором ты и упоминал.
Да даже не вопрос, конечно можно. Всеж-таки я же как-то подключился ;) Речь-то не о том, как выкрутиться. Речь о том, что хочется "сел и поехал". При этом не надо забывать о нелюбови к чтению мануалов.

Что надо подключать глобальные расширения для использования MAV - это интуитивно понятно. Что их надо три штуки - не так понятно, но всеж-таки доступно. А вот с процедурой подключения уже непонятно. Только что попробовал отключить процедуру подключения. Т.е. GlobalConnectionString объявлена, но остается пустой и нигде не используется. Получил GPF (опять конфликт версий?).

А ведь навернуть-то можно в такую процедуру можно много функционала. Например:
- хранить параметры в ini/regisnry/не хранить
- соединяться при запуске программы / при запуске процедуры
- единые параметры для всей программы / индивидуальные для процедур
- смена настроек подключения
- индикация наличия соединения
и т.п..
Аватара пользователя
Andrew™
SQL профи
Сообщения: 651
Зарегистрирован: 05 Июль 2005, 16:32
Откуда: Москва, Зеленоград

MAV: пожелание

Сообщение Andrew™ »

Andrew Popoff писал(а):Необходима возможность (горячая клавиша лучше) для восстановления первоначального формата List Box-а.
Например, Ctrl+Alt+R как в ABC Free.
реализовано
Аватара пользователя
Andrew™
SQL профи
Сообщения: 651
Зарегистрирован: 05 Июль 2005, 16:32
Откуда: Москва, Зеленоград

Подмена имён колонок в SELECT для Browse

Сообщение Andrew™ »

в MAVBrowse добавился новый метод .setColName, два параметра - поле файла и имя для колонки, которое будет подставляться в SELECT запрос для загрузки Browse, - типа резульаты выполнения каких нибудь хранимых функций

переопределять имена колонок можно в любом месте и скока угодно раз даже для одного поля, последее будет правильным, т е можно динамически делать подмену, главное это сделать до след. загрузки Browse

одно НО, если в File Schematic есть несколько файлов которые учавствуют в Browse, т е есть реляции, то переопределять такие поля которые учавствуют в реляциях нельзя

идею подбросил Макунин А.Л.
Леонид
Бывалый
Сообщения: 84
Зарегистрирован: 31 Август 2005, 17:07

Сообщение Леонид »

VishnuRU писал(а):Ну, из Help'а разница невелика ;)
Connection string examples:

For MS SQL

DRIVER{{SQL Server};SERVER=ServerName;UID=User;PWD=Password;DATABASE=DatabaseTableName

For Oracle

DRIVER{{Oracle ODBC Driver};DBQ=ServerName;UID=User;PWD=Password

For mySQL

DRIVER{{SQL Server};SERVER=ServerName;UID=User;PWD=Password;DATABASE=DatabaseTableName; ;OPTION=3
Может этот набор и реализовать? Просто как основу.
Повторяю, прожить без этого можно. Но жизнь отсутствие отравляет :)

Возвращаясь к закладкам - можно сделать одну, а в ней расписать, что включаем - что имеем.

Для стилей - мне больше по душе подход Синявского: отдельно описание стиля, отдельно - использование ранее описанного стиля. Переопределение текущего стиля по ранее описанному хорошо, но не дает возможности расширить набор условий.
Подождите, тогда уж и для DB2 - чем хуже прочих? Но думаю Андрей здесь прав - ни к чему это...
semvp
Прохожий
Сообщения: 2
Зарегистрирован: 11 Май 2010, 10:08

Re: Собираем идеи на тему -чего не хватает в MAV Direct ODBC

Сообщение semvp »

Еще одно предложение. Извиняюсь, если повторюсь. Было бы удобно использовать MAVLOAD с загрузкой выборки в файл. Сейчас реализовано в GROUP, QUEUE, отдельные переменные. Мы часто работаем с файлом In-Memory. Приходится загонять в него данные через промежуточную структуру QUEUE.
Аватара пользователя
Andrew™
SQL профи
Сообщения: 651
Зарегистрирован: 05 Июль 2005, 16:32
Откуда: Москва, Зеленоград

Re: Собираем идеи на тему -чего не хватает в MAV Direct ODBC

Сообщение Andrew™ »

semvp писал(а):Еще одно предложение. Извиняюсь, если повторюсь. Было бы удобно использовать MAVLOAD с загрузкой выборки в файл. Сейчас реализовано в GROUP, QUEUE, отдельные переменные. Мы часто работаем с файлом In-Memory. Приходится загонять в него данные через промежуточную структуру QUEUE.
MAVLOAD во всех вариациях, это набор функций для получения данных из структур не описанных в DCT, т е на каждый такой вызов будет идти разбор запроса перед выполнением (SQLDescribe) ну и далее само выполнение. вот еслим хочется залить что то в другую файловую структуру, не через QUEUE промежуточное, опишите структуру в DCT и пользуйтесь штатными средствами (разбор запроса будет идти один раз при первом обращении к структуре из DCT):

Код: Выделить всё

sql MAVSelect

  sql.Init(,100)
  sql.BindFields(MAVFile)
  IF NOT sql.Run()
   LOOP WHILE NOT sql.Fetch()
      memfile:Field1 = MAVFile:Field1
      ....
     ADD(memfile)
   END
 END
Ответить