|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
28.07.2013, 16:03 | #1 |
Регистрация: 07.03.2013
Сообщений: 7
|
Ошибка - Column does not belong to referenced table. FireBird+Delphi
Всем доброго времени суток. Товарищи, спасайте!
Задача такая. Есть БД(*.fdb), в которой хранится процедура(insert into) для вставки новых записей в эту БД. В Делфи через SQL-запрос (используется pFIBQuery) запускается процедура, которая берет данные из Edit'ов и вбивает эти данные в соответсвующие поля в БД. Все вроде как должно быть, но на "ExecQuery" прога запинается и выдает такую ошибку: Код:
где xxxxx - это набор символов которые я ввожу в первый же Edit. Не пойму, что ему в типах не нравится..., поле в БД, которому присваивается строка из Edit1, имеет тип VARCHAR. БД создавал в Interbase&Firebird Development Studio. Вот метаданные таблицы из БД: Код:
Код:
Вот код кнопки, которая запускает запрос с процедурой: Код:
Заранее благодарю. |
28.07.2013, 16:46 | #2 |
Участник клуба
Регистрация: 19.12.2007
Сообщений: 1,100
|
потому что у тебя происходит INSERT записи
Код:
На форуме: Помогаю за спасибо
ICQ\Skype: Это моё личное время ... |
28.07.2013, 16:56 | #3 |
Регистрация: 07.03.2013
Сообщений: 7
|
Ясно. Просто RICHID автоинкрементом генерируется, поэтому я думал что в INSERT его не надо загонять. А если попробовать убрать в базе это ограничение IS NOT NUUL?
|
28.07.2013, 16:57 | #4 | |
Участник клуба
Регистрация: 19.12.2007
Сообщений: 1,100
|
убери. (лично я никогда не ставлю)
в таком случае Цитата:
На форуме: Помогаю за спасибо
ICQ\Skype: Это моё личное время ... |
|
28.07.2013, 17:10 | #5 |
Регистрация: 07.03.2013
Сообщений: 7
|
не помогло, все так же.
Но, мне вот на другом форуме посоветовали убрать в запросе двойные кавычки. Ну я убрал, в принципе ничего не изменилось, но... Если раньше ошибка выходила ругаясь сразу на Edit1, не зависимо от того, что бы я туда не вводил. То теперь если ввести в Edit1 какое нибудь число, он Edit1 принимает и начинает ругаться уже на Edit2. Что бы это могло значить? |
28.07.2013, 17:44 | #6 |
Участник клуба
Регистрация: 19.12.2007
Сообщений: 1,100
|
используй параметризированные запросы. проблеммы с кавычками отпадут.
а еще в компонентках FIB+ есть метод ExecWP и ExecProcedure ... ими можно пользоваться для сокращения записи
На форуме: Помогаю за спасибо
ICQ\Skype: Это моё личное время ... Последний раз редактировалось Yurk@; 28.07.2013 в 17:55. |
28.07.2013, 17:55 | #7 | |
Регистрация: 07.03.2013
Сообщений: 7
|
Цитата:
|
|
09.09.2013, 18:30 | #8 |
Регистрация: 27.07.2013
Сообщений: 6
|
Попробуй вот так:
Код:
Из делфей: Код:
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
delphi 2010, ibx, firebird - ошибка при StartTransaction или открытии view - db not open | AutoHare | БД в Delphi | 0 | 17.11.2010 08:32 |
нужна одно table где все rows from table 1 но и еще добавленных table 2 | Why | Помощь студентам | 0 | 20.09.2010 10:29 |
Программирование под Windows (ошибка), как избежать ошибки Unresolved external '_main' referenced fro | DeLure | Общие вопросы C/C++ | 2 | 02.03.2008 01:35 |