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

Delphi Sources



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

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 26.10.2017, 14:37
aspotkin aspotkin вне форума
Прохожий
 
Регистрация: 26.10.2017
Сообщения: 8
Версия Delphi: XE5
Репутация: 10
По умолчанию Проблема с запросом mysql

Всем доброго дня!
В phpmyadmin прекрасно отрабатывает запрос:
UPDATE `1` SET `url` ='https://lala.com/lolo' WHERE `id` ='https://lala.com/ololo'

В делфи XE15 запрос:

UPDATE `'+team+'` SET `url` ='+url+' WHERE `vkid` ='+idvk

Не отрабатывает, ругается на синтаксис. До этого вывожу строку, в которой полный запрос видно - соответствует один в один запросу в phpmyadmin.
В чем может быть проблема?

Последний раз редактировалось aspotkin, 26.10.2017 в 15:18.
Ответить с цитированием
  #2  
Старый 26.10.2017, 18:38
lmikle lmikle вне форума
Модератор
 
Регистрация: 17.04.2008
Сообщения: 8,003
Версия Delphi: 7, XE3, 10.2
Репутация: 49089
По умолчанию

Забыл кавычки вокруг строковых данных, например.
Надо как-то так:
Код:
s := 'UPDATE `'+team+'` SET `url` ='''+url+''' WHERE `vkid` ='''+idvk + '''';
Т.е. строка должна выглядеть как-то так:
Код:
UPDATE `table` set `url`='url_data' WHERE `vkid`='key_data'

PS. В принципе, я не знаю имени таблицы, а для имен полей обратный апостроф в данном случае не обязателен.
Ответить с цитированием
  #3  
Старый 27.10.2017, 06:46
aspotkin aspotkin вне форума
Прохожий
 
Регистрация: 26.10.2017
Сообщения: 8
Версия Delphi: XE5
Репутация: 10
По умолчанию

Цитата:
Сообщение от lmikle
Забыл кавычки вокруг строковых данных, например.
Надо как-то так:
Код:
s := 'UPDATE `'+team+'` SET `url` ='''+url+''' WHERE `vkid` ='''+idvk + '''';
Т.е. строка должна выглядеть как-то так:
Код:
UPDATE `table` set `url`='url_data' WHERE `vkid`='key_data'

PS. В принципе, я не знаю имени таблицы, а для имен полей обратный апостроф в данном случае не обязателен.
Тогда получаю проблему на скриншоте во вложении...
Изображения
Тип файла: jpg Screenshot_7.jpg (32.0 Кбайт, 5 просмотров)
Ответить с цитированием
  #4  
Старый 27.10.2017, 17:41
lmikle lmikle вне форума
Модератор
 
Регистрация: 17.04.2008
Сообщения: 8,003
Версия Delphi: 7, XE3, 10.2
Репутация: 49089
По умолчанию

Т.е. такой запрос в стороннем клиенте проходит, а из дельфей нет.
Возможно, надо добавить точку с запятой ( в конце запроса...
Ответить с цитированием
  #5  
Старый 30.10.2017, 07:08
aspotkin aspotkin вне форума
Прохожий
 
Регистрация: 26.10.2017
Сообщения: 8
Версия Delphi: XE5
Репутация: 10
По умолчанию

Цитата:
Сообщение от lmikle
Т.е. такой запрос в стороннем клиенте проходит, а из дельфей нет.
Возможно, надо добавить точку с запятой ( в конце запроса...
Попробовал поставить ";", не помогло. На скриншотах вывел строку и ошибку
Изображения
Тип файла: jpg Screenshot_8.jpg (15.0 Кбайт, 4 просмотров)
Тип файла: jpg Screenshot_9.jpg (30.1 Кбайт, 4 просмотров)
Ответить с цитированием
  #6  
Старый 30.10.2017, 18:23
lmikle lmikle вне форума
Модератор
 
Регистрация: 17.04.2008
Сообщения: 8,003
Версия Delphi: 7, XE3, 10.2
Репутация: 49089
По умолчанию

А точно у таблицы имя "1"???
Ответить с цитированием
  #7  
Старый 31.10.2017, 09:11
aspotkin aspotkin вне форума
Прохожий
 
Регистрация: 26.10.2017
Сообщения: 8
Версия Delphi: XE5
Репутация: 10
По умолчанию

Цитата:
Сообщение от lmikle
А точно у таблицы имя "1"???
Точно, т.к. выборка из таблицы до этого нормально проходит. Да и в phpmyadmin я вижу только таблицу 1
Ответить с цитированием
  #8  
Старый 31.10.2017, 17:36
lmikle lmikle вне форума
Модератор
 
Регистрация: 17.04.2008
Сообщения: 8,003
Версия Delphi: 7, XE3, 10.2
Репутация: 49089
По умолчанию

А покажи ка, мил человек, дельфевый код.
Больно уж напрягает референс на 2ю строку в сообщении об ошибке. Мож ты не чистишь предыдущий запрос и там разная бяка остается?
Ответить с цитированием
  #9  
Старый 01.11.2017, 07:37
aspotkin aspotkin вне форума
Прохожий
 
Регистрация: 26.10.2017
Сообщения: 8
Версия Delphi: XE5
Репутация: 10
По умолчанию

Цитата:
Сообщение от lmikle
А покажи ка, мил человек, дельфевый код.
Больно уж напрягает референс на 2ю строку в сообщении об ошибке. Мож ты не чистишь предыдущий запрос и там разная бяка остается?
Вы были правы, спасибо огромное! Упустил очистку запроса
Ответить с цитированием
  #10  
Старый 01.11.2017, 18:46
lmikle lmikle вне форума
Модератор
 
Регистрация: 17.04.2008
Сообщения: 8,003
Версия Delphi: 7, XE3, 10.2
Репутация: 49089
По умолчанию

You're welcome
Ответить с цитированием
Ответ


Delphi Sources

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

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

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

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


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


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

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

ВКонтакте   Facebook   Twitter