Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > [ "Начинающим" ]
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 12.10.2014, 09:12
MotoArhangel MotoArhangel вне форума
Новичок
 
Регистрация: 14.10.2012
Сообщения: 58
Версия Delphi: Delphi 10.4
Репутация: 10
По умолчанию Проблема с SQL запросом MySQL+ADO

Не пойму в чем проблема. при обработке запроса:
Код:
'SELECT * FROM order WHERE id_seller LIKE ''%1%'''
код:
Код:
procedure TDBF.AdoQueryConnect(tabs:string);
begin
  if adoquery1.Active
    then adoquery1.Close;
  adoquery1.sql.Clear;
  adoquery1.sql.add('SELECT * FROM '+tabs);
  adoquery1.Open;
  ADOQuery1.Active:=true;
end;

procedure TDBF.orderinf(dbgrid1:Tdbgrid);
var
  sel:string;
begin
  sel := DBGrid1.DataSource.DataSet.FieldValues['id_seller'] ;
  AdoQueryConnect('order WHERE id_seller LIKE ''%'+sel+'%''');

  //DBGrid1.Columns[0].FieldName:='name_prod';
  DBGrid1.Columns[0].Title.Caption:='Товар';
  //DBGrid1.Columns[1].FieldName:='order_desc';
  DBGrid1.Columns[1].Title.Caption:='     ';
  //DBGrid1.Columns[2].FieldName:='url_order';
  DBGrid1.Columns[2].Title.Caption:='     ';
end;

выдает сообщение, яко бы присутствует синтаксическая ошибка в запросе. Подскажите правильное решение.
Изображения
Тип файла: jpg 2014-10-12_12-16-45.jpg (48.1 Кбайт, 5 просмотров)

Последний раз редактировалось MotoArhangel, 12.10.2014 в 09:18.
Ответить с цитированием
  #2  
Старый 12.10.2014, 10:57
Аватар для Страдалецъ
Страдалецъ Страдалецъ вне форума
Гуру
 
Регистрация: 09.03.2009
Адрес: На курорте, из окна вижу теплое Баренцево море. Бррр.
Сообщения: 4,723
Репутация: 52347
По умолчанию

Если id_seller число, но не надо лишних кавычек:
Код:
'SELECT * FROM order WHERE id_seller LIKE '%1%'
Если же id_seller строка, то тогда надо их парно ставить:
Код:
'SELECT * FROM order WHERE id_seller LIKE '''%1%'''
или использовать функцию, которая это сделает сама:
Код:
'SELECT * FROM order WHERE id_seller LIKE ' + QuotedStr('%1%');
__________________
Жизнь такова какова она есть и больше никакова.
Помогаю за спасибо.

Последний раз редактировалось Страдалецъ, 12.10.2014 в 11:00.
Ответить с цитированием
  #3  
Старый 12.10.2014, 14:48
MotoArhangel MotoArhangel вне форума
Новичок
 
Регистрация: 14.10.2012
Сообщения: 58
Версия Delphi: Delphi 10.4
Репутация: 10
По умолчанию

Все равно ошибка. Хотя есть еще одна таблица и с ней все нормально обрабатывается.

Последний раз редактировалось MotoArhangel, 14.10.2014 в 12:21.
Ответить с цитированием
  #4  
Старый 14.10.2014, 12:21
MotoArhangel MotoArhangel вне форума
Новичок
 
Регистрация: 14.10.2012
Сообщения: 58
Версия Delphi: Delphi 10.4
Репутация: 10
По умолчанию

Разобралсо.
Ответить с цитированием
Ответ


Delphi Sources

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

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 20:09.


 

Сайт

Форум

FAQ

Соглашения

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2025