Форум программистов, компьютерный форум, киберфорум
Delphi: Базы данных
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/4: Рейтинг темы: голосов - 4, средняя оценка - 5.00
4 / 4 / 2
Регистрация: 18.10.2011
Сообщений: 89

Вернуть стандартное значение SQL?

09.01.2013, 12:16. Показов 1011. Ответов 7
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
День добрый!
Есть объект IBQuery1 в свойстве SQL которого прописан запрос.
В теле программы модифицирую данный запрос
Delphi
1
2
3
4
5
6
   if dm2.T_V_AKT.Active then dm2.T_V_AKT.Rollback;
     dm2.V_AKT.Close;
     //dm2.V_AKT.SQL.Clear;
     dm2.V_AKT.SQL.Add(' and (a.ID=:prID)');
     dm2.V_AKT.ParamByName('prID').AsInteger := dm.OC6ID_AKT_P.AsInteger;
     dm2.V_AKT.Open;
Как в необходимый момент вернуть запрос по умолчанию т.е. удалить из запроса?
SQL
1
 AND (a.ID=:prID)
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
09.01.2013, 12:16
Ответы с готовыми решениями:

вернуть значение SQL запроса в C#
Здравствуйте! как можно получить значение колонки isAdmin? public static bool isAdmin(string Login) { try ...

Вернуть значение их ХП SQL Server в переменную VBA (Access)
Здравствуйте! Имеется хранимая процедура, которая возвращает ID записи: ALTER PROCEDURE . @Second nvarchar(50), @Name nvarchar(50),...

Вернуть значение ХП SQL Server в переменную VBA (Access)
Здравствуйте! Имеется хранимая процедура, которая возвращает ID записи: ALTER PROCEDURE . @Second nvarchar(50), @Name nvarchar(50),...

7
4217 / 3059 / 583
Регистрация: 21.01.2011
Сообщений: 13,203
09.01.2013, 12:23
Видимо, запомнить исходный запрос в переменной
0
4 / 4 / 2
Регистрация: 18.10.2011
Сообщений: 89
09.01.2013, 12:26  [ТС]
проблема в том что запрос очень длинный и превышает 255 символов на что ругается SQL.ADD
SQL
1
SELECT a.*, c.VID_OC, COALESCE(d.MARKA, e.NAIM, f.NAIM) NAME, COALESCE(d.ID_AVTO, e.ID_BUIL, f.ID_OC) ID_OS, b.ID AS ID_OC6 FROM OC_1 a, OC_6 b JOIN S_OC6_OC c ON c.ID=b.ID_OC LEFT JOIN AVTO d ON d.ID_AVTO=c.ID_OC_KEY AND c.VID_OC=2 LEFT JOIN BUILDING e ON e.ID_BUIL=c.ID_OC_KEY AND c.VID_OC=3 LEFT JOIN OC f ON f.ID_OC=c.ID_OC_KEY AND c.VID_OC=1 WHERE (b.ID_AKT_P=a.ID)
0
4217 / 3059 / 583
Регистрация: 21.01.2011
Сообщений: 13,203
09.01.2013, 12:33
Кто мешает для сохранения использовать StringList, коим является и сам SQL у Query ?
0
4 / 4 / 2
Регистрация: 18.10.2011
Сообщений: 89
09.01.2013, 12:46  [ТС]
Видимо я как-то вас не понимаю, делал так
Delphi
1
2
3
4
var StrList: TStringList;
begin
StrList:=TStringList.Create;
StrList.Add('select a.*, c.VID_OC, COALESCE(d.MARKA, e.NAIM, f.NAIM) NAME, COALESCE(d.ID_AVTO, e.ID_BUIL, f.ID_OC) ID_OS, b.ID as ID_OC6 from OC_1 a, OC_6 b JOIN S_OC6_OC c ON c.ID=b.ID_OC LEFT JOIN AVTO d ON d.ID_AVTO=c.ID_OC_KEY AND c.VID_OC=2 LEFT JOIN BUILDING e ON e.ID_BUIL=c.ID_OC_KEY AND c.VID_OC=3 LEFT JOIN OC f ON f.ID_OC=c.ID_OC_KEY AND c.VID_OC=1 where (b.ID_AKT_P=a.ID)');
Не работает, упирается в ограничение 255 символов.
0
4217 / 3059 / 583
Регистрация: 21.01.2011
Сообщений: 13,203
09.01.2013, 13:14
В StringList (который является массивом строк) каждый Add добавляет свою строку. Разбей свой запрос на несколько кусков и каждый добавляй с пом. Add (так же, как SQL.Add).
Или, если таких кусков 2-3, можно просто использовать отдельную String для каждого.
1
1085 / 571 / 79
Регистрация: 07.04.2011
Сообщений: 971
Записей в блоге: 2
09.01.2013, 16:33
Цитата Сообщение от Fedor82 Посмотреть сообщение
проблема в том что запрос очень длинный и превышает 255 символов на что ругается SQL.ADD
SQL.Text - еще никто не отменял...
0
1076 / 989 / 340
Регистрация: 07.08.2012
Сообщений: 2,790
09.01.2013, 17:25
Уважаемый, ТС. В проекте в директивах компилятору у вас искусственно выставлено ограничение для строковых литералов в 255 символов.
Если это дело не поправить, то "до конца жизни" вы будете думать, что SQL.Add ограничен по количеству символов.
А это далеко не так.
Для того чтобы "реабилитировать доброе имя" свойства SQL IBQuery, а заодно и всех компонентов, которые используют класс TStrings, нужно выключить директиву компилятору {$H}.
- меню Project > Options, закладка Compiler, влажок "Huge strings" должен быть установлен.
- если флажок этот все же установлен, то стоит поискать по текстам всех используемых модулей директиву {$H-} и удалить.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
09.01.2013, 17:25
Помогаю со студенческими работами здесь

Окно меню "Пуск" стало узким. Как вернуть стандартное?
Всем привет. После установки ОС, столкнулся с не понятной проблемой. В Windows 10 пуск стал каким-то узким. Как вернуть стандартный пуск из...

Выбрать ближайшее меньшее стандартное значение резистора
Здравствуйте помогите пожалуйста! Нужно сделать процедуру.... Задано рассчетное значение резистора и массив стандартные значения...

Найти среднее значение и стандартное отклонение данного распределения
10. В нормально распределенной совокупности 15% значений Х меньше 12 и 40% больше 16,2. Найти среднее значение и стандартное отклонение...

Вернуть сообщение из ХП SQL Server
Добрый день! Можно ли (и как?) вернуть строку из хранимой процедуры в C#. Есть вызов ХР из С# с передачей параметров, работает,...

Нужно SQL-запросом вернуть самую последнюю добавленную запись
Нужно SQL-запросом вернуть самую последнюю добавленную запись. Такой вариант нормальный? SELECT `message`, `reply` FROM `chat` WHERE `id`...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Новые блоги и статьи
Настройки VS Code
Loafer 13.04.2026
{ "cmake. configureOnOpen": false, "diffEditor. ignoreTrimWhitespace": true, "editor. guides. bracketPairs": "active", "extensions. ignoreRecommendations": true, . . .
Оптимизация кода на разграничение прав доступа к элементам формы
Maks 13.04.2026
Алгоритм из решения ниже реализован на нетиповом документе, разработанного в конфигурации КА2. Задачи, как таковой, поставлено не было, проделанное ниже исключительно моя инициатива. Было так:. . .
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: реализовать контроль корректности заполнения дат назначения. . .
Архитектура слоя интернета для сервера-слоя.
Hrethgir 11.04.2026
В продолжение https:/ / www. cyberforum. ru/ blogs/ 223907/ 10860. html Знаешь что я подумал? Раз мы все источники пишем в голове ветки, то ничего не мешает добавить в голову такой источник, который сам. . .
Подстановка значения реквизита справочника в табличную часть документа
Maks 10.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: при выборе сотрудника (справочник Сотрудники) в ТЧ документа. . .
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях. Задача: при копировании документа очищать определенные реквизиты и табличную. . .
модель ЗдравоСохранения 8. Подготовка к разному выполнению заданий
anaschu 08.04.2026
https:/ / github. com/ shumilovas/ med2. git main ветка * содержимое блока дэлэй из старой модели теперь внутри зайца новой модели 8ATzM_2aurI
Блокировка документа от изменений, если он открыт у другого пользователя
Maks 08.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в конфигурации КА2. Задача: запретить редактирование документа, если он открыт у другого пользователя. / / . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru