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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 28.05.2007, 13:47   #1
beginner
Пользователь
 
Регистрация: 24.12.2006
Сообщений: 33
Восклицание Ошибка в SQL запросе. Помогите найти.

Сделал почти..не работает добавление удаление и редактирование записей в базе данных. Запросы написал, но выдается ошибка..Нужна помощь.
Вложения
Тип файла: rar kurs.rar (449.0 Кб, 10 просмотров)
beginner вне форума Ответить с цитированием
Старый 29.05.2007, 03:39   #2
Shuraken
Форумчанин
 
Аватар для Shuraken
 
Регистрация: 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.
Shuraken вне форума Ответить с цитированием
Старый 29.05.2007, 12:25   #3
beginner
Пользователь
 
Регистрация: 24.12.2006
Сообщений: 33
По умолчанию

Сейчас займусь этим..
beginner вне форума Ответить с цитированием
Старый 29.05.2007, 16:19   #4
beginner
Пользователь
 
Регистрация: 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.
beginner вне форума Ответить с цитированием
Старый 30.05.2007, 10:08   #5
beginner
Пользователь
 
Регистрация: 24.12.2006
Сообщений: 33
По умолчанию

Цитата:
Сообщение от Shuraken Посмотреть сообщение
Советую по-другому оформить код, скажем, так:
Format('INSERT INTO FACE (....)'#13#10 +
'SELECT Max(ID_FACE) + 1, %s, ''%s'', ''%s'', ''%s'', ''%s'', ''%s'' FROM FACE',
[здесь твои переменные])
И в этом случае, уверяю тебя, код будет гораздо более читабельным и понятным.
Возникает ошибка, что невозможно использовать статистическую функцию MAX
И не соответствие полей..
Добавление получилось сделать чуть по другому способу в две таблицы..а в последнюю Automobil не получается никак сделать..Всего то ничего осталось..только одby запрос на добавление.
beginner вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите найти ошибку в 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