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

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

Вернуться   Форум программистов > Delphi программирование > БД в Delphi
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 02.09.2012, 11:25   #1
artemavd
Старожил
 
Аватар для artemavd
 
Регистрация: 05.06.2008
Сообщений: 4,210
Вопрос Не связываются таблицы (Firebird) если колонки по-русски

Добрый вечер! Не получается программно связать две таблицы из-за того, что название колонки в родительской таблицы написано по-русски, т.е. не ID, а №. Если использовать ID, то все работает. Хочется, чтобы и по-русски работало. Прошу помощи в этом вопросе. С чем это может быть связано? Поле в дочерней таблице, которое должно ссылаться на поле № в родительской создается прекрасно. При попытке выполнить программное связывание с колонкой № в главной таблице, получаею ошибку, что такой колонки якобы не существует в главной, но она там есть, это точно. Может как-то надо обрамлять имя поля по-другому. Вот код программного связывания (который работает если название по-английски):
Код:
   pFIBQuery1.Close;
   pFIBQuery1.SQL.Clear;
   pFIBQuery1.SQL.Add('ALTER TABLE ' + slave_dict + ' ADD CONSTRAINT FK_' + slave_dict + '_1 FOREIGN KEY (ID_' + slave_dict + ') REFERENCES ' + master_dict + ' ("№") ');
   pFIBQuery1.SQL.Add('ON DELETE CASCADE');
   pFIBQuery1.ExecQuery;
   pFIBQuery1.Transaction.Commit;
Не стоит смеяться над человеком делающим шаг назад, возможно он делает разбег.
artemavd вне форума Ответить с цитированием
Старый 02.09.2012, 12:30   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
При попытке выполнить программное связывание
Попробуй связывать в IBExpert. Если это не проканает (думаю что не проканает) - забудь про русские имена. FB это не тот инструмент, где стоит так делать.
Да и потом - алиасы полей в запросах можно назвать русскими, клиент не заметит разницы.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 02.09.2012, 14:12   #3
artemavd
Старожил
 
Аватар для artemavd
 
Регистрация: 05.06.2008
Сообщений: 4,210
По умолчанию

Цитата:
Попробуй связывать в IBExpert
В IBExpert такая же ошибка.
Цитата:
Если это не проканает (думаю что не проканает) - забудь про русские имена.
А в чем именно проблема? Это в самой СУБД?
Цитата:
Да и потом - алиасы полей в запросах можно назвать русскими
Поясни подробнее?
Не стоит смеяться над человеком делающим шаг назад, возможно он делает разбег.
artemavd вне форума Ответить с цитированием
Старый 02.09.2012, 14:38   #4
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
Это в самой СУБД?
Скорее всего да.
Цитата:
Поясни подробнее?
Select поле as алиас
К примеру
Код:
select
 id "№"
,vid "Вид конструкции"
from
....
Клиент получит не id и vid а № и Вид конструкции в качестве имен полей.
Распространяется это удобство только на Select. по крайней мере в случае с огнептичкой.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 02.09.2012, 18:14   #5
artemavd
Старожил
 
Аватар для artemavd
 
Регистрация: 05.06.2008
Сообщений: 4,210
По умолчанию

А, ну да, про алиасы я как-то запамятовал. Про такое я конечно знаю, щас вспомнил. Я решил такую задачу не через алиасы, а разработал новую технологию для этого).
Не стоит смеяться над человеком делающим шаг назад, возможно он делает разбег.
artemavd вне форума Ответить с цитированием
Старый 02.09.2012, 19:43   #6
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
а разработал новую технологию для этого).
Расскажешь?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 02.09.2012, 20:07   #7
artemavd
Старожил
 
Аватар для artemavd
 
Регистрация: 05.06.2008
Сообщений: 4,210
По умолчанию

Цитата:
Расскажешь?
Расскажу, конечно, когда проект будет закончен и внедрен . Просто у меня решение, на мой взгляд, не стандартное. Поэтому оно работает как надо!)
Не стоит смеяться над человеком делающим шаг назад, возможно он делает разбег.
artemavd вне форума Ответить с цитированием
Старый 02.09.2012, 20:43   #8
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Интригантишка
Ладно, условие принято.
Удачных разработок, бро.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 03.09.2012, 04:35   #9
artemavd
Старожил
 
Аватар для artemavd
 
Регистрация: 05.06.2008
Сообщений: 4,210
По умолчанию

Спасибо коллега . Планирую к концу года закончить первую версию и в январе внедрять начать ее заказчику. Посмотрим где и что я не до думал там
Не стоит смеяться над человеком делающим шаг назад, возможно он делает разбег.
artemavd вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Условие на колонки таблицы pusik БД в Delphi 8 21.05.2011 04:47
Как присвоить Максимальную длину колонки DBGridEh Если даные берутся из квери postaveche БД в Delphi 10 13.09.2010 14:54
Загрузить уникальные значения колонки таблицы в Combobox Akemi БД в Delphi 2 07.06.2010 13:41
Печать таблицы в две колонки mclennon Microsoft Office Excel 4 06.06.2010 00:48
Подскажите как можно сравнить 2 таблицы или колонки andrew_v_k Microsoft Office Excel 2 10.08.2009 11:56