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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 25.04.2011, 02:13   #1
Alessiy
 
Регистрация: 25.04.2011
Сообщений: 3
По умолчанию ADOQuery

Пожалуйста, подскажите, что тут не так?..

Код:
procedure TForm1.Button2Click(Sender: TObject);
begin
if edit2.Text = '' then begin ShowMessage('Введите название фирмы');
end else begin
ADOQuery2.SQL.Clear;
ADOQuery2.SQL.Add('SELECT * FROM Автомобили WHERE Страна = (SELECT Страна FROM Фирма WHERE Название_фирмы = (''+edit2.text+''))');
ADOQuery2.Active:=True; end;
end;
Пишет, что нет значения по умолчанию...(((



___________
Код нужно оформлять по правилам:
тегом [CODE]..[/СODE] (это кнопочка с решёточкой #)
Не забывайте об этом!
Модератор.

Последний раз редактировалось Serge_Bliznykov; 25.04.2011 в 08:52.
Alessiy вне форума Ответить с цитированием
Старый 25.04.2011, 02:40   #2
Gulik
Холост/Не замужем
Форумчанин
 
Аватар для Gulik
 
Регистрация: 13.11.2007
Сообщений: 283
По умолчанию

С ковычками у тебя напутано на первый взгляд

Код:
   if edit1.Text = '' then begin
      ShowMessage('Введите название фирмы');
   end
   else begin
      ADOQuery1.SQL.Clear;
      ADOQuery1.SQL.Add('SELECT * FROM Автомобили WHERE Страна = (SELECT Страна FROM Фирма WHERE Название_фирмы = '''+edit1.text+''')');
      ADOQuery1.Active:=True;
   end;
Gulik вне форума Ответить с цитированием
Старый 25.04.2011, 02:54   #3
Alessiy
 
Регистрация: 25.04.2011
Сообщений: 3
По умолчанию

Теперь ошибки нет, но результат тоже не выводится...
Может как-то не правильно воспринимается: Название_фирмы = '''+edit1.text+''' ?..
Числовые значения - нормально, строковые - ни как...
Alessiy вне форума Ответить с цитированием
Старый 25.04.2011, 10:03   #4
SERG1980
Участник клуба
 
Аватар для SERG1980
 
Регистрация: 28.03.2007
Сообщений: 1,814
По умолчанию

Цитата:
Сообщение от Alessiy Посмотреть сообщение
Теперь ошибки нет, но результат тоже не выводится...
Может как-то не правильно воспринимается: Название_фирмы = '''+edit1.text+''' ?..
Числовые значения - нормально, строковые - ни как...
А датасет у вас на квери переведён (DataSource.DataSet:=Query)
на счёт кавычек
можно так
Код:
"'+edit1.text+"' ?..
или
Код:
+QuotedStr(edit1.text)
т.е
Код:
ADOQuery1.SQL.Add('SELECT * FROM Автомобили WHERE Страна = (SELECT Страна FROM Фирма WHERE Название_фирмы = '+QuotedStr(edit1.text)+')');
SERG1980 вне форума Ответить с цитированием
Старый 26.04.2011, 23:55   #5
Alessiy
 
Регистрация: 25.04.2011
Сообщений: 3
По умолчанию

Люди, спасибо Вам огромное за помощь!.. Всё работает!..)))
Alessiy вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
ADOQuery StartMis Общие вопросы Delphi 3 19.08.2010 12:52
ADoQuery Night_owl БД в Delphi 6 29.07.2010 12:48
AdoQuery lenuxoid БД в Delphi 6 25.03.2010 18:24
ADOQuery TriSDev БД в Delphi 2 24.02.2010 07:56
ADOQuery Sanakan Помощь студентам 0 10.11.2009 23:31