|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
28.05.2007, 13:47 | #1 |
Пользователь
Регистрация: 24.12.2006
Сообщений: 33
|
Ошибка в SQL запросе. Помогите найти.
Сделал почти..не работает добавление удаление и редактирование записей в базе данных. Запросы написал, но выдается ошибка..Нужна помощь.
|
29.05.2007, 03:39 | #2 |
Форумчанин
Регистрация: 16.04.2007
Сообщений: 298
|
У тебя достаточно большая путаница с кавычками. Запрос:
'INSERT INTO Face (ID_Face, ID_Street, FIO, BirthDay, NumPassport, Hous, Flat)' 'SELECT MAX(ID_Face)+1,'1,'Иванов','01.01.2 006', '11 11 111111',' '5', '3' 'FROM Face' Поэтому и получается такая ерунда. Во-вторых, в коде сразу же натыкаешься на узкие места: if ulitsa='ЛЕНИНА' then temp1:='1'; А при любой другой улице, переменная не заполняется, тоже не есть хорошо. Советую по-другому оформить код, скажем, так: Format('INSERT INTO FACE (....)'#13#10 + 'SELECT Max(ID_FACE) + 1, %s, ''%s'', ''%s'', ''%s'', ''%s'', ''%s'' FROM FACE', [здесь твои переменные]) И в этом случае, уверяю тебя, код будет гораздо более читабельным и понятным.
Не надо ничего усложнять. Все достаточно тривиально.
Последний раз редактировалось Shuraken; 29.05.2007 в 04:12. |
29.05.2007, 12:25 | #3 |
Пользователь
Регистрация: 24.12.2006
Сообщений: 33
|
Сейчас займусь этим..
|
29.05.2007, 16:19 | #4 |
Пользователь
Регистрация: 24.12.2006
Сообщений: 33
|
Вообщем удаление реализовал..
Перешел к добавлению..сделал добавление в две таблицы..а в третью неполучается (Automobil) хм..ничего не понимаю этот запрос работает: Query12.SQL.Clear; Query12.SQL.Add('INSERT INTO Driver (ID_Driver, ID_Face, ID_Category, Experience)'); Query12.SQL.Add('SELECT MAX(ID_Driver)+1, MAX(ID_Face)+1, '+#39+temp1+#39+', '+st); Query12.SQL.Add('FROM Driver'); Query12.ExecSQL; а этот нет: Query12.SQL.Clear; Query12.SQL.Add('INSERT INTO Automobil (ID_Auto, ID_Driver, ID_Color, ID_Insurance, ID_State, Number, Model, Date_Output, Date_Revision, ID_Face)'); Query12.SQL.Add('SELECT MAX(ID_Auto)+1, MAX(ID_Driver)+1, '+#39+temp3+#39+', '+#39+temp4+#39+', '+#39+temp5+#39+', '+#39+nomeravto+#39+', '+#39+marka+#39+', '+godvip+', '+datateh+', MAX(ID_Face)+1'+' FROM Automobil'); Query12.ExecSQL; Пишет, что ошибка в Insert Into... не могу понять, в чем же дело. Еще при редактировании возникает ошибка error create handle cursor Каким образом можно избавиться от нее? Последний раз редактировалось beginner; 29.05.2007 в 16:43. |
30.05.2007, 10:08 | #5 | |
Пользователь
Регистрация: 24.12.2006
Сообщений: 33
|
Цитата:
И не соответствие полей.. Добавление получилось сделать чуть по другому способу в две таблицы..а в последнюю Automobil не получается никак сделать..Всего то ничего осталось..только одby запрос на добавление. |
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Помогите найти ошибку в SQL- запросе | Tan | БД в Delphi | 2 | 03.04.2008 18:20 |
Ошибка SQL запросе. | EVG44 | БД в Delphi | 2 | 21.10.2007 22:42 |
Ошибка при запросе SQL в IB | Алекс1 | БД в Delphi | 2 | 24.06.2007 22:37 |
Ошибка в SQL запросе | eremin | БД в Delphi | 2 | 23.06.2007 07:13 |