powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Delphi, FireBird создать таблицу в памяти клиента
18 сообщений из 368, страница 15 из 15
Delphi, FireBird создать таблицу в памяти клиента
    #39366210
dgdog
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Симонов ДенисArioch,

у меня есть знакомый с фамилией Кузьмич

С фамилией то я справлюсь. А вот как "ООО РастудытьТебяВКачель" превратить за один раз в "РастудытьТебяВКачель ООО" чето мозгу не хватает))) Для меня даже пробел есть после "ООО ". Но мозгов не хватает... чтоб одним запросом. Подзапрос по справочнику я сам составлю... мнеб принип... можно со стебом-шутками-прибаутками.
...
Рейтинг: 0 / 0
Delphi, FireBird создать таблицу в памяти клиента
    #39366211
miwaonline
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
miwaonlineНе может быть, чтобы ты не додумался
В смысле - где подвох?
...
Рейтинг: 0 / 0
Delphi, FireBird создать таблицу в памяти клиента
    #39366217
dgdog
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
miwaonlinemiwaonlineНе может быть, чтобы ты не додумался
В смысле - где подвох?

По моему стебётся. Или немного обидно... или пните ещё раз
...
Рейтинг: 0 / 0
Delphi, FireBird создать таблицу в памяти клиента
    #39366219
miwaonline
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dgdogmiwaonlineпропущено...

В смысле - где подвох?

По моему стебётся. Или немного обидно... или пните ещё раз
Кхм. Ведь это - решение задачи, нет?
...
Рейтинг: 0 / 0
Delphi, FireBird создать таблицу в памяти клиента
    #39366220
dgdog
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
miwaonlinedgdogпропущено...

Ну по сути надо по справочнику "ООО, ЗАО, НПО" встречающиеся в начале записи утащить в конец (стеб в нужную сторону приветствуется)
Не может быть, чтобы ты не додумался до
Код: sql
1.
select left('ЗАО Вася Пупкин', position(' ', 'ЗАО Вася Пупкин')-1) from rdb$database



А подожди на копии попробую... Упдате И твой Select left...
...
Рейтинг: 0 / 0
Delphi, FireBird создать таблицу в памяти клиента
    #39366226
dgdog
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
miwaonlinedgdogпропущено...


По моему стебётся. Или немного обидно... или пните ещё раз
Кхм. Ведь это - решение задачи, нет?
не катит "Invalid length parameter -1 to SUBSTRING. Negative integers are not allowed."

чую беда в том, что не везде есть пробел. есть просто названия одним словом. Нууу... буду копать в эту сторону.
...
Рейтинг: 0 / 0
Delphi, FireBird создать таблицу в памяти клиента
    #39366238
dgdog
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
dgdogmiwaonlineпропущено...

Кхм. Ведь это - решение задачи, нет?
не катит "Invalid length parameter -1 to SUBSTRING. Negative integers are not allowed."

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

Решил пока так (опытным путем) select left(POLE, position(' ', POLE)-1) from (select POLE from TABLE where POLE like '% %');

Иначе вылетает с ошибкой на первом значении без ПРОБЕЛА. Буду копать в ту сторону. СПАСИБО. Хотя мое решение не красивое... должно быть проще
...
Рейтинг: 0 / 0
Delphi, FireBird создать таблицу в памяти клиента
    #39366248
miwaonline
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dgdogmiwaonlineпропущено...

Кхм. Ведь это - решение задачи, нет?
не катит "Invalid length parameter -1 to SUBSTRING. Negative integers are not allowed."

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

Код: sql
1.
select left('ВасяПупкин', maxvalue(position(' ', 'ВасяПупкин') - 1, 0)) from rdb$database


Вместо 0 в maxvalue можно передать 32768, char_lenth() или что-то другое по вкусу.
...
Рейтинг: 0 / 0
Delphi, FireBird создать таблицу в памяти клиента
    #39366249
miwaonline
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
miwaonlineВместо 0 в maxvalue можно передать 32768, char_lenth() или что-то другое по вкусу.
Упс, психанул. По условию задачи - нельзя :)
...
Рейтинг: 0 / 0
Delphi, FireBird создать таблицу в памяти клиента
    #39366253
dgdog
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
miwaonlinemiwaonlineВместо 0 в maxvalue можно передать 32768, char_lenth() или что-то другое по вкусу.
Упс, психанул. По условию задачи - нельзя :)

Вкурил. Расковыряю. Спасибо. Я все равно со справочником сверяю. Спасибо.

А вот совсем другой вопрос: Вот есть у меня клиент который отсылает UPDATE и на 5-10 минут замирает (хотя ему эти данные сейчас не нужны). Если я перенесу это УПДЭЙТ в хранимую процедурку - клиент будет виснуть? Какие решения ПРАВИЛЬНЫЕ?
...
Рейтинг: 0 / 0
Delphi, FireBird создать таблицу в памяти клиента
    #39366261
miwaonline
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dgdogА вот совсем другой вопрос: Вот есть у меня клиент который отсылает UPDATE и на 5-10 минут замирает (хотя ему эти данные сейчас не нужны). Если я перенесу это УПДЭЙТ в хранимую процедурку - клиент будет виснуть? Какие решения ПРАВИЛЬНЫЕ?

Будет виснуть..

Чтоб интерфейс не замирал - надо перенести этот update в отдельный поток или отдельное приложение. Какой именно вариант в твоих условиях подходит лучше - тебе решать.
...
Рейтинг: 0 / 0
Delphi, FireBird создать таблицу в памяти клиента
    #39366271
dgdog
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
miwaonlinedgdogА вот совсем другой вопрос: Вот есть у меня клиент который отсылает UPDATE и на 5-10 минут замирает (хотя ему эти данные сейчас не нужны). Если я перенесу это УПДЭЙТ в хранимую процедурку - клиент будет виснуть? Какие решения ПРАВИЛЬНЫЕ?

Будет виснуть..

Чтоб интерфейс не замирал - надо перенести этот update в отдельный поток или отдельное приложение. Какой именно вариант в твоих условиях подходит лучше - тебе решать.
Ясно. Спасибо. Совсем не "базист" И база не моя... перекраиваю. Сейчас выкрутился отключением Контрола... а вообще надо переписывать. Код бы разобрать.))) Но разберем))) Фигня-война, не в такие дали шагали. Спасибо ребят за подсказки
...
Рейтинг: 0 / 0
Delphi, FireBird создать таблицу в памяти клиента
    #39367113
Ivan_Pisarevsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dgdogА вот как "ООО РастудытьТебяВКачель" превратить за один раз в "РастудытьТебяВКачель ООО" чето мозгу не хватаетНайти все строки, где позиция символа "пробел" ненулевая, откусить сабстрингом все то, что до позиции первого пробела и откусить все что после первого пробела, потом вторую часть пристегнуть к первой операцией "||".
miwaonlineЧтоб интерфейс не замирал - надо перенести этот update в отдельный поток или отдельное приложение.йа йа, оно. свой коннект, своя транзакция в отдельном треде и вперед.
...
Рейтинг: 0 / 0
Delphi, FireBird создать таблицу в памяти клиента
    #39367164
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ivan_Pisarevskyсвой коннект, своя транзакция в отдельном треде и вперед

Это необязательно.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Delphi, FireBird создать таблицу в памяти клиента
    #39367225
Ivan_Pisarevsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry SibiryakovIvan_Pisarevskyсвой коннект, своя транзакция в отдельном треде и вперед

Это необязательно.Зато работает ожидаемо. Как только начинаешь экономить "на спичках", обязательно получишь граблями по лбу.
...
Рейтинг: 0 / 0
Delphi, FireBird создать таблицу в памяти клиента
    #39372443
dgdog
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ivan_PisarevskyDimitry Sibiryakovпропущено...

Это необязательно.Зато работает ожидаемо. Как только начинаешь экономить "на спичках", обязательно получишь граблями по лбу.

я вот не базист( не птичник совсем)... но отвечу со своей колокольни(если можно): так ведь от задачи зависит
мне проще было создать сервис и закинуть на сервер: сработало "чудо правило" апдейтим таблицы по принятым условиям. (Клиент этого не чувствует) Вываливаемся с ошибкой (клиенту знать об этом не надо) - ну и фиГ сним... пробуем повторить или вообще сигналим винде "Алярм блин, алярм падла, свистать всех на верх" - отбиваем "вопрос"

С тредами у мена (вот это личное) есть не понятки: Вот случилась ошибка и выдаем ЕррорБлинЁпрст... но у меня не всегда выдает если пользователь уже закрыл программу (ну на Вин 10 и Ембаркадеро 2007 у меня с тредами подключенными к 1С8.3 беда) и отработать ошибки не получается... да и пользователь глючит если что не так.

Вариантов вижу 3
1: тред (теоретически самое правильное)
2: на самый жуткий запрос (на 5-20 минут работы) запускать стороннюю подпрограмму.
3: сервис. Которому командуем чего там на сервере надо поправить (апдейтить, удалить, апгрейдить)


ПС наверное многое можно сделать в UDF или встроенными процедурами (но на форуме говорят, запуск процедуры так же затормозит клиента...) А в UDF я только пытаюсь вникнуть :)
...
Рейтинг: 0 / 0
Delphi, FireBird создать таблицу в памяти клиента
    #39372450
dgdog
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
dgdog,

фигню сморозил )))

Код: pascal
1.
// так ведь от задачи зависит


хорошо, что не успели в грязь вкатать))
конечно зависит от знаний-возможностей программиста. Ну и от условий. Методы разные, но главное достичь цели минимальными затратами (времени, памяти, процессора... ну и программиста)
...
Рейтинг: 0 / 0
Delphi, FireBird создать таблицу в памяти клиента
    #39372724
Ivan_Pisarevsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dgdogС тредами у мена (вот это личное) есть не поняткиНормально с ФБ работать из тредов, у нас и из С прямо с АПИ и с дельфи с фиб-ами, и под линуксами и под виндами. Не надо тень на плетень наводить. Если есть проблема с тредами, то тебе лучше в дельфовый форум сходить, получить помощь вполне реально.

dgdogПС наверное многое можно сделать в UDF или встроенными процедурами (но на форуме говорят, запуск процедуры так же затормозит клиента...) А в UDF я только пытаюсь вникнуть :)Это вообще перпендикулярно теме обсуждения. "Слышал звон..." (с).
...
Рейтинг: 0 / 0
18 сообщений из 368, страница 15 из 15
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Delphi, FireBird создать таблицу в памяти клиента
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]