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

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

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

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

Ответ
 
Опции темы Поиск в этой теме
Старый 23.01.2019, 11:55   #1
mr_xxx
Пользователь
 
Регистрация: 22.03.2012
Сообщений: 99
Вопрос DBGRID + FIredac + inner jon+oracle =ora-00904: Invalid identifier

Добрый день
Подключаюсб к бд на Oracle
Все ок резултьтат отображается на dbgrid

Код:
select MYFIELD1."NAME" as "nn1",MYFIELD3."TYPE",MYFIELD3."COD",MYFIELD2."NAME" as "nn2",MYFIELD3."FROM" ,MYFIELD4."NAME" as "nn3", MYFIELD5."NAME"as "nn4",MYFIELD3."VALUE",MYFIELD3."ALWAYS",MYFIELD3."ONE_TIME",MYFIELD3."DD1",MYFIELD3."DD2",MYFIELD3."DD3",MYFIELD3."DD4",MYFIELD3."DD5",MYFIELD3."DD6",MYFIELD3."DD7",MYFIELD3."DDD8" from MYFIELD2 inner join MYFIELD1 on MYFIELD1."ID"=MYFIELD2."CATEGOR_ID" inner join MYFIELD3 on MYFIELD3."COD"=MYFIELD2."ID" inner join MYFIELD4 on MYFIELD4."ID"= MYFIELD3."MYFIELD4" inner join MYFIELD5 on MYFIELD5."ID"=MYFIELD3."MYFIELD5"
Проблема выходит когда меняю значение на dbgrid-е

qu1.png

как исправить? не как не могу разобратся

Заранее Спасибо
mr_xxx вне форума Ответить с цитированием
Старый 25.01.2019, 12:24   #2
mr_xxx
Пользователь
 
Регистрация: 22.03.2012
Сообщений: 99
По умолчанию

Код:
select ro1."ID" ,ro1."Vvv1", ro2."ID" ,ro3."NAME" from ro1 inner join ro2 on ro2."ID"=ro1."cid" inner join ro3 on ro3."ID" = ro1."POST_ID"
Тоже самое
invalid identifier "NAME"
mr_xxx вне форума Ответить с цитированием
Старый 25.01.2019, 12:55   #3
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 19,042
По умолчанию

Цитата:
Oracle SQL позволяет нам игнорировать регистр имен объектов базы данных, если мы создаем их с именами в верхнем регистре или без двойных кавычек. Если мы используем смешанный регистр или строчные буквы в сценарии и заключаем идентификаторы в двойные кавычки, мы обречены на использование двойных кавычек и точного регистра всякий раз, когда мы ссылаемся на объект или его атрибуты
гугл-перевод )
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 25.01.2019, 13:49   #4
mr_xxx
Пользователь
 
Регистрация: 22.03.2012
Сообщений: 99
По умолчанию

Цитата:
Сообщение от Аватар Посмотреть сообщение
гугл-перевод )
Код:
select tab1.ID ,tab1.VACANT, tab2.ID  from tab1 inner join tab2 on tab2.ID=tab1.ID
тогда когда отправляю запрос без ковычек почему тоже самое???
mr_xxx вне форума Ответить с цитированием
Старый 25.01.2019, 13:50   #5
IliaIT
Форумчанин
 
Аватар для IliaIT
 
Регистрация: 17.03.2009
Сообщений: 979
По умолчанию

Хмм. кавычки в запросах это вообще геморой. но тот же оракле в MySQL реализовал имена таблиц и полей в обёртке обратного машинописного апострофа. попробуй заменить кавычки на него. (он обычно находится под трильдой, рядом с Ё)
Интуитивно понятный интерфейс - это такой интерфейс, для работы с которым нужна недюжинная интуиция.
IliaIT вне форума Ответить с цитированием
Старый 25.01.2019, 13:57   #6
mr_xxx
Пользователь
 
Регистрация: 22.03.2012
Сообщений: 99
По умолчанию

Цитата:
Сообщение от IliaIT Посмотреть сообщение
Хмм. кавычки в запросах это вообще геморой. но тот же оракле в MySQL реализовал имена таблиц и полей в обёртке обратного машинописного апострофа. попробуй заменить кавычки на него. (он обычно находится под трильдой, рядом с Ё)
Таким методом вообше нечего не отображается
а тот вариант который я писал отображает результат в dbgrid-e просто когда меняю значения в dbgride выдает ошибку

Если
Код:
select ro1."ID" ,ro1."Vvv1", ro2."ID" ,ro3."NAME" from ro1 inner join ro2 on ro2."ID"=ro1."cid" inner join ro3 on ro3."ID" = ro1."POST_ID"
Могу менят и сохраняет ro1."ID" ,ro1."Vvv1" тоест ту часть которая сразу после select from X - а та часть которая после inner join а сразуже ошибка



Запрос отоброжается проблема только возникает когда я пытаюс поменят значение в DBGRİD-e( без разницы ест там ковычки или нет)
log2.png

Это и другая ошибка (invalid identifier) Уже замучали меня 5 часов как не переделываю запрос или это ошика или invalid identifier

Последний раз редактировалось mr_xxx; 25.01.2019 в 14:13.
mr_xxx вне форума Ответить с цитированием
Старый 25.01.2019, 14:19   #7
IliaIT
Форумчанин
 
Аватар для IliaIT
 
Регистрация: 17.03.2009
Сообщений: 979
По умолчанию

то есть так не работает,
Код:
select `ro1`.`ID` ,`ro1`.`Vvv1`, `ro2`.`ID` ,`ro3`.`NAME` from `ro1` inner join `ro2` on `ro2`.`ID`=`ro1`.`cid` inner join `ro3` on `ro3`.`ID` = `ro1`.`POST_ID`
больше вариантов нет. я для мускула так лечил.
Интуитивно понятный интерфейс - это такой интерфейс, для работы с которым нужна недюжинная интуиция.
IliaIT вне форума Ответить с цитированием
Старый 25.01.2019, 14:24   #8
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 19,042
По умолчанию

Ошибка при редактировании потому, что не может, например, в ro3 запись найти при изменении name. В сообщении как раз об этом
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 25.01.2019, 14:35   #9
mr_xxx
Пользователь
 
Регистрация: 22.03.2012
Сообщений: 99
По умолчанию

Цитата:
Сообщение от Аватар Посмотреть сообщение
Ошибка при редактировании потому, что не может, например, в ro3 запись найти при изменении name. В сообщении как раз об этом
Цитата:
select tab1.ID ,tab1.VACANT, tab2.ID from tab1 inner join tab2 on tab2.ID=tab1.ID
Тут name нет
а почему веравно ошибка?
mr_xxx вне форума Ответить с цитированием
Старый 25.01.2019, 14:40   #10
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 19,042
По умолчанию

Какая ошибка?
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
invalid character in identifier ggjgj Python 3 08.06.2018 12:07
oracle: при заполнении таблиц с датой, не воспринимает никакой формат записи - выдает ошибку ORA-01861 либо ORA-01821 USER25 Помощь студентам 15 22.04.2015 17:48
Oracle ошибка ORA-00933 rainbow SQL, базы данных 0 17.04.2012 08:57
ORA-00604, ORA-01003 BeJIuKuu_Hexo4yxa SQL, базы данных 0 14.11.2011 10:41
Сохранение таблицы из dbgrid в файл (oracle, delphi) blr_spy БД в Delphi 8 26.07.2010 13:59