Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Web программирование > SQL, базы данных
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 16.09.2009, 13:18   #1
call_me_Frank
Пользователь
 
Регистрация: 16.09.2009
Сообщений: 18
По умолчанию Поле-массив в IBExpert

Привет, ребята!...подскажите пожалуйста, как в IBExpert создать поле-массив и с какими запросами обращаться к нему из Delphi? если что надо - уточню!
call_me_Frank вне форума Ответить с цитированием
Старый 16.09.2009, 13:20   #2
Sparky
Участник клуба
 
Аватар для Sparky
 
Регистрация: 15.05.2009
Сообщений: 1,222
По умолчанию

давай более подробно, какой запрос и что нужно получить в результате. Ты через gui делаешь в IBExpert или при помощи тамашнего скриптового редактора?
Единственное, что ограничивает полет мысли программиста-компилятор
Sparky вне форума Ответить с цитированием
Старый 17.09.2009, 10:27   #3
call_me_Frank
Пользователь
 
Регистрация: 16.09.2009
Сообщений: 18
По умолчанию

опишу толком всю ситуацию )
в IBExpert работаю через gui. в таблицу необходимо сохранять строку вида: время :: данные
данные представляют собой числа (с 2 знаками после зпт), их 32. Сейчас они записываются ввиде строки через ";".

Что должно получатся при чтении: в DBGridEh надо выводить столбец времени и 32 столбца с данными, каждый из которых можно будет скрыть/показать.

вот я и думаю, может быть лучше сделать 32 отдельных столбца в таблице, или создать одно поле-массив...или оставить как есть, но как тогда решить вопрос про столбцы в DBGridEh?
call_me_Frank вне форума Ответить с цитированием
Старый 18.09.2009, 11:42   #4
call_me_Frank
Пользователь
 
Регистрация: 16.09.2009
Сообщений: 18
По умолчанию

что-то знатоки замолчали!...
call_me_Frank вне форума Ответить с цитированием
Старый 18.09.2009, 12:52   #5
soleil@mmc
SQL-коддинг
Участник клуба
 
Регистрация: 16.01.2009
Сообщений: 1,192
По умолчанию

Цитата:
Сообщение от call_me_Frank Посмотреть сообщение
в таблицу необходимо сохранять строку вида: время :: данные
данные представляют собой числа (с 2 знаками после зпт), их 32. Сейчас они записываются ввиде строки через ";".
видимо, следующий ваш вопрос будет типа "помогите! как распарсить в скл строку из 32 значений по 32 колонкам"?
soleil@mmc вне форума Ответить с цитированием
Старый 18.09.2009, 13:07   #6
call_me_Frank
Пользователь
 
Регистрация: 16.09.2009
Сообщений: 18
По умолчанию

Вы не угадали, мистер! просили написать подробнее, я написал.
...и все-таки надеюсь на ответ по делу.
call_me_Frank вне форума Ответить с цитированием
Старый 18.09.2009, 13:23   #7
soleil@mmc
SQL-коддинг
Участник клуба
 
Регистрация: 16.01.2009
Сообщений: 1,192
По умолчанию

Цитата:
Сообщение от call_me_Frank Посмотреть сообщение
Вы не угадали, мистер! просили написать подробнее, я написал.
...и все-таки надеюсь на ответ по делу.
ок
только не знаю чего ждать
вопрос-то вы уже задали - "как отключать колонки в гриде?"
а раз колонки, то данные нужно разбивать на колонки

но я бы посоветовал времени не терять и подумать над проектированием таблички
мало ли - кол-во датчиков (или с чего у вас там данные приходят) увеличится и придется обрабатывать больше 32 параметров

можно заводить колонки, а можно и добавить просто еще одну колонку - порядковый номер показателя
в любом случае у вас будут трудности с написанием запросов независимо от структуры, которую вы выберете, связанные с вопросами свернуть/развернуть данные
но их будет намного легче решать нежели при каждом запросе парсить строки
soleil@mmc вне форума Ответить с цитированием
Старый 18.09.2009, 14:06   #8
call_me_Frank
Пользователь
 
Регистрация: 16.09.2009
Сообщений: 18
По умолчанию

я понял, значит нынешний вариант отпадает!
вернемся к самому первому вопросу: как все-таки создать поле-массив в IBExpert? и как запросом эти данные по нужному (да, именно, датчику)) датчику доставать?

SELECT (каким образом указать нужный элемент массива?)
FROM T_DATA
WHERE время>begin AND время<end
call_me_Frank вне форума Ответить с цитированием
Старый 18.09.2009, 14:23   #9
SuperVisor
Павел Сергеевич
Форумчанин
 
Регистрация: 05.11.2006
Сообщений: 665
По умолчанию

Все-таки Вы не поняли, на что вас пытался натолкнуть soleil@mmc...
Он призывает использовать колонки. Поле-массив - это текстовое поле.
Представьте, у вас есть текст в колонке: '10.3;5;8;6;4;8;2;4.85;66;12:20:23 16.05.2009'
Вам понадобится либо на уровне SQL, либо уже средствами Delphi обрабатывать строку... А если вам нужно 2 значения? А если они посреди массива??? А если формат данных изменится??
Познавая других, мы познаем себя.
С'est la vie...
SuperVisor вне форума Ответить с цитированием
Старый 18.09.2009, 14:44   #10
call_me_Frank
Пользователь
 
Регистрация: 16.09.2009
Сообщений: 18
По умолчанию

я полагал, что поле-массив аналогично массивам например в Delphi, где по номеру элемента мы получаем его значение! и видимо ошибался?

вобщем буду делать по колонке на датчик, да и все.
call_me_Frank вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
После ввода в поле по Enter нужно перейти на другое поле! •ScReam•™ Помощь студентам 2 16.06.2009 08:47
Двухмерный массив на поле Grigoriy251 Gamedev - cоздание игр: Unity, OpenGL, DirectX 2 21.09.2008 11:52
IBExpert 2.0 Snoopy SQL, базы данных 6 12.09.2008 12:04
IBExpert Stanislav БД в Delphi 11 22.01.2008 22:24
IBExpert vol БД в Delphi 0 21.04.2007 21:18