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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 31.05.2009, 14:30   #1
Stat_ya
Пользователь
 
Аватар для Stat_ya
 
Регистрация: 31.05.2009
Сообщений: 30
По умолчанию SQL -ЗАПРОСЫ. СИНТАКСИС. УПС! Проблемка..

Итак, помогите, пожалуйста.
Пишу текст запроса sql, который из таблицы "основная" должен отображать из поля "фамилия абонента" , соответственно условию запроса, который вводится в Edit1...

SELECT*
FROM Основная
WHERE Фамилия абонента LIKE '"+Edit1.text+""

При попытке выставить active в true объекта ADOQuery выдает ошибку: "Ошибка ситаксиса(пропущен оператор) в выражении запроса Фамилия абонента LIKE '"+Edit1.text+"". "

Что сделать, чтоб исправить? что не так?
1)почти блондинка
2)почти программист
3)мало знаю, но, к счастью, обозреваю то, чего не знаю.

Последний раз редактировалось Stat_ya; 31.05.2009 в 14:43.
Stat_ya вне форума Ответить с цитированием
Старый 31.05.2009, 14:45   #2
Neeter
Форумчанин
 
Аватар для Neeter
 
Регистрация: 22.02.2009
Сообщений: 875
По умолчанию

Может так:
Код:
WHERE Фамилия абонента = '"+Edit1.text+""
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство.
Neeter вне форума Ответить с цитированием
Старый 31.05.2009, 15:18   #3
Stat_ya
Пользователь
 
Аватар для Stat_ya
 
Регистрация: 31.05.2009
Сообщений: 30
По умолчанию

неа...! Выдает ту же ошибку((((
1)почти блондинка
2)почти программист
3)мало знаю, но, к счастью, обозреваю то, чего не знаю.
Stat_ya вне форума Ответить с цитированием
Старый 31.05.2009, 15:22   #4
Sparky
Участник клуба
 
Аватар для Sparky
 
Регистрация: 15.05.2009
Сообщений: 1,222
По умолчанию

Попробуйте просто использовать параметр, а затем его заполнить значением из edit1
Единственное, что ограничивает полет мысли программиста-компилятор
Sparky вне форума Ответить с цитированием
Старый 31.05.2009, 15:25   #5
Neeter
Форумчанин
 
Аватар для Neeter
 
Регистрация: 22.02.2009
Сообщений: 875
По умолчанию

Я наверно понял. Вы создаете запрос не в run-time? То есть создаете запрос не в коде.
Или все-таки в коде?
Надо так:
Код:
 With ADOQuery1.SQL do
 begin
  Active := false;
  Clear;
  Add('SELECT *');
  Add('FROM Основная'); 
  Add('WHERE Фамилия абонента LIKE '"+Edit1.text+"");
  Active := true;
 end;
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство.

Последний раз редактировалось Neeter; 31.05.2009 в 15:54.
Neeter вне форума Ответить с цитированием
Старый 31.05.2009, 15:34   #6
Stat_ya
Пользователь
 
Аватар для Stat_ya
 
Регистрация: 31.05.2009
Сообщений: 30
По умолчанию

Докладываю...

первая попытка запроса была не в самом программном коде, а только в редакторе sql запросов.

далее попыталась изменить сам запрос , чтобы был с параметром. Получилось вот что:
SELECT*
FROM Основная
WHERE Фамилия абонента= :Fam
"LIKE" и "=" - без особой разницы.
Потом в Parameters выбрала нужный DataType.Далее active в тру и снова ошибка: "Ошибка ситаксиса(пропущен оператор) в выражении запроса 'Фамилия абонента= ?'"
я даже до кода программного не могу дойти... какая -то тупая ошибка((((
1)почти блондинка
2)почти программист
3)мало знаю, но, к счастью, обозреваю то, чего не знаю.
Stat_ya вне форума Ответить с цитированием
Старый 31.05.2009, 15:39   #7
Sparky
Участник клуба
 
Аватар для Sparky
 
Регистрация: 15.05.2009
Сообщений: 1,222
По умолчанию

вроде нельзя у запросов с параметрами выставлять active, его необходимо выставлять уже в коде после заполнения параметра значением
Единственное, что ограничивает полет мысли программиста-компилятор
Sparky вне форума Ответить с цитированием
Старый 31.05.2009, 15:40   #8
Stat_ya
Пользователь
 
Аватар для Stat_ya
 
Регистрация: 31.05.2009
Сообщений: 30
По умолчанию

Neeter, то есть мне даже сам ADOQuery не трогать? и можно не выставлять active в тру? и не трогать все эти редакторы?
а просто в коде всё указать?
1)почти блондинка
2)почти программист
3)мало знаю, но, к счастью, обозреваю то, чего не знаю.
Stat_ya вне форума Ответить с цитированием
Старый 31.05.2009, 15:44   #9
Neeter
Форумчанин
 
Аватар для Neeter
 
Регистрация: 22.02.2009
Сообщений: 875
По умолчанию

Обязательно в коде.
Я вспомнил. Нельзя применять Active := true;
Надо:
Код:
ADOQuery1.ExecSQL;
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство.
Neeter вне форума Ответить с цитированием
Старый 31.05.2009, 15:47   #10
Sparky
Участник клуба
 
Аватар для Sparky
 
Регистрация: 15.05.2009
Сообщений: 1,222
По умолчанию

вообщем в запросе пишишь:SELECT*
FROM Основная
WHERE Фамилия абонента= :Fam
Дальше при нажатии кнопки или там еще при наступлении какого-то действия, пишишь код:
Query1.active:=false;
//либо Query1.close;
Query1.Parametrs.ParamByName('fam') .value:=Edit1.text;
Query1.active:=true;
//либо Query1.open;
Единственное, что ограничивает полет мысли программиста-компилятор
Sparky вне форума Ответить с цитированием
Ответ


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

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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Запросы на SQL denisk0 Microsoft Office Access 0 23.05.2009 16:05
sql запрос на выборку записей из двух связанных таблиц Люсьен БД в Delphi 9 20.04.2009 16:07
Синтаксис SQL robert65 SQL, базы данных 0 24.03.2009 16:23
sql запросы wolf950 БД в Delphi 2 28.11.2008 21:26
Синтаксис SQL-запроса для поиска по дате... Рустам БД в Delphi 13 06.04.2008 15:55