Последняя версия DataExpress 22.3.12

Изображение Скачать | Изображение Что нового?

Подскажите с программным добавлением записей

Раздел для обсуждений характера, прямо не связанного с остальными разделами форума.
Для тех кто:
1. Надо бы высказаться, но негде.
2. Забрел, но не знает куда написать (полезная информация будет заботливо перенесена администрацией в соответствующий раздел форума)
3. Умышленно или неумышленно отошел от основной темы в полезном разделе форума.
Аватара пользователя
Develop-Soft
Сообщения: 2061
Зарегистрирован: 05 мар 2019, 18:09
Откуда: Белгород
Благодарил (а): 130 раз
Поблагодарили: 693 раза

Подскажите с программным добавлением записей

Сообщение Develop-Soft » 15 май 2022, 11:57

Vofka18 писал(а):это перебор

В чем?

Vofka18
Знаток
Сообщения: 604
Зарегистрирован: 04 мар 2018, 16:54
Благодарил (а): 70 раз
Поблагодарили: 88 раз

Подскажите с программным добавлением записей

Сообщение Vofka18 » 15 май 2022, 12:14

Develop-Soft писал(а):
Vofka18 писал(а):это перебор

В чем?

Менять структуру базы, если что-то пойдет не так, то прийдется вручную все возвращать :) , а в моем случае, что-то обязательно пойдет не так :D .
Весь этот замут я поднял, при написании достаточно специфического расширения для импорта данных в базу. Знаю что уже есть готовые решения, но мне с ними не удобно работать, и еще год назад я начал писать свое, и вот только доделываю его.
А одной из особенностей, является использование именно объекта формы вместо SQL(хотя пробовал и через него), но мне было принципиально, чтобы срабатывали стандартные выражения компонентов при импорте.
Вариант с отменой обязательности поля конечно решил бы мою проблему, но вопервых это дополнительный цикл (а мое расширение и так не блещет скоростью :D ) , во вторых нужно же потом вернуть все на свои места.
Но по сути с этим жить можно, как все доделаю выложу это горе расширение :). чучуть осталось..

Аватара пользователя
Develop-Soft
Сообщения: 2061
Зарегистрирован: 05 мар 2019, 18:09
Откуда: Белгород
Благодарил (а): 130 раз
Поблагодарили: 693 раза

Подскажите с программным добавлением записей

Сообщение Develop-Soft » 15 май 2022, 12:49

Vofka18 писал(а):Менять структуру базы, если что-то пойдет не так, то прийдется вручную все возвращать , а в моем случае, что-то обязательно пойдет не так .

Конкретный пример на структуру базы никак не влияет. Даже косвенно...
Vofka18 писал(а):это дополнительный цикл
Разовый перебор компонентов на скорость врядли как-то повлияет. Если только в форме не 1500..2000 полей, тогда да, целых 100..150 мс будет затрачено.
Vofka18 писал(а):нужно же потом вернуть все на свои места
"Fm.Free" - вы об этом?

Vofka18
Знаток
Сообщения: 604
Зарегистрирован: 04 мар 2018, 16:54
Благодарил (а): 70 раз
Поблагодарили: 88 раз

Подскажите с программным добавлением записей

Сообщение Vofka18 » 15 май 2022, 13:08

Develop-Soft писал(а):
Vofka18 писал(а):Менять структуру базы, если что-то пойдет не так, то прийдется вручную все возвращать , а в моем случае, что-то обязательно пойдет не так .

Конкретный пример на структуру базы никак не влияет. Даже косвенно...
Vofka18 писал(а):это дополнительный цикл
Разовый перебор компонентов на скорость врядли как-то повлияет. Если только в форме не 1500..2000 полей, тогда да, целых 100..150 мс будет затрачено.
Vofka18 писал(а):нужно же потом вернуть все на свои места
"Fm.Free" - вы об этом?

Стоп... Я заранее извиняюсь за глупый вопрос.
А этот код отменяет обязательность только в открытом наборе данных? Если так, то это то что мне нужно!!! :D
Я думал он отменяет обязательность так, как будто мы в дизайнере сняли галочку...

cordek
Специалист
Сообщения: 948
Зарегистрирован: 14 май 2017, 14:53
Благодарил (а): 227 раз
Поблагодарили: 111 раз

Подскажите с программным добавлением записей

Сообщение cordek » 15 май 2022, 13:27

Vofka18 писал(а):
Develop-Soft писал(а):
Vofka18 писал(а):Менять структуру базы, если что-то пойдет не так, то прийдется вручную все возвращать , а в моем случае, что-то обязательно пойдет не так .

Конкретный пример на структуру базы никак не влияет. Даже косвенно...
Vofka18 писал(а):это дополнительный цикл
Разовый перебор компонентов на скорость врядли как-то повлияет. Если только в форме не 1500..2000 полей, тогда да, целых 100..150 мс будет затрачено.
Vofka18 писал(а):нужно же потом вернуть все на свои места
"Fm.Free" - вы об этом?

Стоп... Я заранее извиняюсь за глупый вопрос.
А этот код отменяет обязательность только в открытом наборе данных? Если так, то это то что мне нужно!!! :D
Я думал он отменяет обязательность так, как будто мы в дизайнере сняли галочку...

Код, который исполняется на машине пользователы, действует только там. Изменить метаданные можно только из дизайнера, либо через прямой доступ у базе (SQL).
Каждый раз, когда программа подключается к базе, она считывает метаданные и выстраивает компоненты для каждой формы. Естественно такие компоненты можно в скрипте поменять, но в базе метаданные не изменятся и поля в таблице данных не поменяются.

Vofka18
Знаток
Сообщения: 604
Зарегистрирован: 04 мар 2018, 16:54
Благодарил (а): 70 раз
Поблагодарили: 88 раз

Подскажите с программным добавлением записей

Сообщение Vofka18 » 15 май 2022, 13:34

Спасибо всем за помощь! Учиться мне ещё и учиться, в базах данных :D
Как в поговорке "машину купил, а ездить не купил" :D

Vofka18
Знаток
Сообщения: 604
Зарегистрирован: 04 мар 2018, 16:54
Благодарил (а): 70 раз
Поблагодарили: 88 раз

Подскажите с программным добавлением записей

Сообщение Vofka18 » 15 май 2022, 17:52

Develop-Soft писал(а):Можно так попробовать на..бать эту "логику":

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

  fm:=tdxForm.Create('...');

   for i:=0 to fm.ComponentCount-1 do
   begin
     try
       SetPropValue(fm.Components[i],'Required',false);
     except
     end;
   end;

  fm.open;
  ... 


Я дико извиняюсь, можно еще вопрос по этой теме? решил короче я, для порядку, обработать исключение на всякий случай, и короч, вот что вышло:
Функция SetPropValue постоянно уходит в except с ошибкой "Unknown property: "Required".
Но при этом функционал работает так как вы и обещали.
Собственно вопрос: это нормальное поведение? :roll:
Вложения
DEMO_DB.rar
(71.79 КБ) 7 скачиваний

cordek
Специалист
Сообщения: 948
Зарегистрирован: 14 май 2017, 14:53
Благодарил (а): 227 раз
Поблагодарили: 111 раз

Подскажите с программным добавлением записей

Сообщение cordek » 15 май 2022, 18:05

Так и должно быть, не для всех компонентов есть такое свойство

Vofka18
Знаток
Сообщения: 604
Зарегистрирован: 04 мар 2018, 16:54
Благодарил (а): 70 раз
Поблагодарили: 88 раз

Подскажите с программным добавлением записей

Сообщение Vofka18 » 15 май 2022, 18:10

cordek писал(а):Так и должно быть, не для всех компонентов есть такое свойство

Точно, я не сразу вьехал, что на форме еще 3 надписи.
Вопрос снимается как глупый. Спасибо!


Вернуться в «Курилка.»