Вверх ↑
Этот топик читают: Гость
Ответов: 16884
Рейтинг: 1239
#16: 2018-03-12 23:57:02 ЛС | профиль | цитата
zhorik5 писал(а):
вообще мне в идеале нужно напрямую обращаться к firebird базе ТДТ по запросу делать выборку и в читаемом виде этот результат записывать у себе.

Через ODBC или OLEDB. Компоненты у нас есть.
Драйвер для ODBC http://www.firebirdsql.org/en/odbc-driver/

Редактировалось 3 раз(а), последний 2018-03-13 00:05:45
карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
Ответов: 4621
Рейтинг: 746
#17: 2018-03-13 12:22:07 ЛС | профиль | цитата
Firebird - классная вещь. Когда-нибудь созрею сделать набор компонентов, например, на основе этого: https://github.com/hgourvest/uib

zhorik5 писал(а):
я никогда не видел такого устройства. там похоже все на индексах
По-моему, ничего принципиально нестандартного там нет: транзакции, таблицы, просмотры, хранимые процедуры, тригеры таблиц/просмотров/БД, внешние функции, привилегии у пользователя/роли/процедуры/тригера/просмотра для доступа к таблицам/просмотрам/процедурам, ограничения внешних/уникальных ключей, пользовательские ограничения столбца. Благодаря процедурам/тригерам большая часть рутинной логики выносится на сервер упрощая конструкцию программы.

Редактировалось 1 раз(а), последний 2018-03-13 12:32:35
карма: 26

0
Ответов: 188
Рейтинг: 2
#18: 2018-03-17 13:43:28 ЛС | профиль | цитата
Firebird - классная вещь. Когда-нибудь созрею сделать набор компонентов
ВОТ скорее бы
По-моему, ничего принципиально нестандартного там нет: транзакции, таблицы, просмотры, хранимые процедуры, тригеры таблиц/просмотров/БД, внешние функции, привилегии у пользователя/роли/процедуры/тригера/просмотра для доступа к таблицам/просмотрам/процедурам, ограничения внешних/уникальных ключей, пользовательские ограничения столбца. Благодаря процедурам/тригерам большая часть рутинной логики выносится на сервер упрощая конструкцию программы
для меня вот это и не понятно. А именно - например номенклатура хранится в одной таблице а штрихкод присвоенный данной позиции хранится в другой таблице. общие данные в других полях у них вроде как имеются но они выглядят очень не понятно что то типа
000000003a
00000000D4
00000000f9
и ток далее на возростание. я предположил что это некий индекс объединяющий эти таблицы но как написать запрос что чтобы у меня выводилась строка (modelgoods)номенклотуры c ценой при считывании barcod(штрих) если это абсолютно разные таблицы. стандартные варианты запросов не отрабатывают. Потому что не знаю как указать условие (индексы или что-это)
простите за ломаные мысли как смог так объяснил.

--- Добавлено в 2018-03-17 13:47:52

Через ODBC или OLEDB. Компоненты у нас есть.
Драйвер для ODBC
этот драйвер нужно будет ставить там где работает firebird или там где стоит моя программа?
просто это пока физически разные компьютеры и мне в будущем придется по сети обращаться к sql firebird.

Редактировалось 1 раз(а), последний 2018-03-17 13:47:52
карма: 0

0
Ответов: 16884
Рейтинг: 1239
#19: 2018-03-17 14:51:56 ЛС | профиль | цитата
zhorik5 писал(а):
этот драйвер нужно будет ставить там где работает firebird или там где стоит моя программа?
Там, где стоит твоя программа.
После запуска файла Firebird_ODBC_2.0.5.156_Win32.exe (или ..._Win64.exe), драйвер должен появиться в списке
Панель управления > ODBC > Драйверы

Редактировалось 4 раз(а), последний 2018-03-17 17:46:56
карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
Ответов: 4621
Рейтинг: 746
#20: 2018-03-19 11:58:55 ЛС | профиль | цитата
zhorik5 писал(а):
например номенклатура хранится в одной таблице а штрихкод присвоенный данной позиции хранится в другой таблице
Непонятно зачем так сделано. Штрихкод - это свойство товара, логично что он должен быть там же, где и остальные фиксированные свойства товара (ID, наименование, цена, единица измерения и т.п.). При этом, на столбец со штрихкодом ставится ограничение UNIQUE. В отдельной таблице можно хранить данные, количество которых может изменяться в процессе работы, например, дополнительные цены (розница, мелкий опт, крупный опт, акционные), привязка к нескольким категориям, а также поступления/расход товара, позиции заказов и т.п.
zhorik5 писал(а):
стандартные варианты запросов не отрабатывают.
Возможность выборки данных из нескольких таблиц - это функция стандартней некуда. Если БД спроектирована правильно. Поизучай язык SQL в Firebird. В официальной документации описаны все технические моменты, а более человеческое описание с примерами можешь найти в книге Хелен Борри "Руководство Firebird 1.5".

Редактировалось 1 раз(а), последний 2018-03-20 15:29:04
карма: 26

0
Ответов: 16884
Рейтинг: 1239
#21: 2018-03-19 22:17:32 ЛС | профиль | цитата
Всё было вроде нормально.
Сидели, выпивали....
Драка началась после слов "Семантика этюдности в прозе Пришвина неоднозначна"

карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
Ответов: 188
Рейтинг: 2
#22: 2018-03-20 14:23:04 ЛС | профиль | цитата
zhorik5 писал(а):
стандартные варианты запросов не отрабатывают.

Беру свои слова обратно.
Возможность выборки данных из нескольких таблиц - это функция стандартней некуда.

Я не понимал как сделать запрос, а теперь у меня получилось.

SELECT "name", "barcode"  FROM "modelgoods", "vollink"  WHERE "cognate" = "modelid"
Непонятно зачем так сделано.
Я так полагаю что автор ТДТ так экономит место в базе данных, а не плодит как "Я" одну и туже информацию в разных таблицах.
карма: 0

0
Ответов: 16884
Рейтинг: 1239
#23: 2018-03-20 18:44:26 ЛС | профиль | цитата
zhorik5 писал(а):
Я так полагаю что автор ТДТ так экономит место в базе данных, а не плодит как "Я" одну и туже информацию в разных таблицах.
Кстати, я тебе об этом говорил (и не раз).

Редактировалось 1 раз(а), последний 2018-03-21 00:09:53
карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
23
Сообщение
...
Прикрепленные файлы
(файлы не залиты)