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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 28.03.2013, 17:29   #1
helpkz
Форумчанин
 
Регистрация: 23.03.2013
Сообщений: 160
По умолчанию Database Server Error: You have an error in your SQL syntax

Выходит ошибка:
[IMG][/IMG]
Код:
procedure TForm2.Button1Click(Sender: TObject);
begin
SimpleDataSet1.Close;
SimpleDataSet1.DataSet.CommandText:='SELECT * FROM fclubs';
SimpleDataSet1.DataSet.CommandText:='WHERE name LIKE "Fulham"';
//SimpleDataSet1.Params[1].AsString:='Fulham%';
SimpleDataSet1.Open;
end;
Как бороться с этим?
helpkz вне форума Ответить с цитированием
Старый 28.03.2013, 17:39   #2
mrMeerkat
Следопыт
Форумчанин
 
Аватар для mrMeerkat
 
Регистрация: 26.04.2012
Сообщений: 307
По умолчанию

Запрос одной строкой запишите
С Баша:Быть ленивым, глупым, жадным, да и просто редкостным гандоном и мудаком по жизни номально, а вот если ты матом ругаешься-то это да, ужасно и достойно общественного порицания.
mrMeerkat вне форума Ответить с цитированием
Старый 28.03.2013, 17:58   #3
Yurk@
Участник клуба
 
Аватар для Yurk@
 
Регистрация: 19.12.2007
Сообщений: 1,100
По умолчанию

Код:
SimpleDataSet1.DataSet.CommandText:='SELECT * FROM fclubs '
+ 'WHERE name LIKE "Fulham"';
На форуме: Помогаю за спасибо
ICQ\Skype: Это моё личное время ...
Yurk@ вне форума Ответить с цитированием
Старый 28.03.2013, 17:59   #4
helpkz
Форумчанин
 
Регистрация: 23.03.2013
Сообщений: 160
По умолчанию

Цитата:
Сообщение от mrMeerkat Посмотреть сообщение
Запрос одной строкой запишите
то же самое
helpkz вне форума Ответить с цитированием
Старый 28.03.2013, 18:02   #5
helpkz
Форумчанин
 
Регистрация: 23.03.2013
Сообщений: 160
Злость

Код:
procedure TForm2.Button1Click(Sender: TObject);
begin
SimpleDataSet1.Close;
SimpleDataSet1.DataSet.CommandText:='SELECT * FROM fclubs WHERE name LIKE "Fulham"';
//SimpleDataSet1.DataSet.CommandText:='';
//SimpleDataSet1.Params[1].AsString:='Fulham%';
SimpleDataSet1.Open;
end;
Сделал одной строкой, пробелы убраны. Все равно ошибка.
helpkz вне форума Ответить с цитированием
Старый 28.03.2013, 18:15   #6
evg_m
Старожил
 
Регистрация: 20.04.2008
Сообщений: 5,526
По умолчанию

1. почти универсальной способ обходиться без кавычек называется параметрический (с использованием параметров) запрос
Код:
SimpleDataSet1.DataSet.CommandText:='SELECT * FROM fclubs WHERE name LIKE :fnm';
SimpleDataSet1.DataSet.Parameters.Paramsbyname('fnm').value:='Fulham';
2. возможно движок БД не принимает (не понимает) кавычки и просит другой ограничитель для указания строковых значений.
"(двойная кавычка) -> ''(два рядом стоящих апострофа ' )
программа — запись алгоритма на языке понятном транслятору
evg_m вне форума Ответить с цитированием
Старый 28.03.2013, 18:17   #7
helpkz
Форумчанин
 
Регистрация: 23.03.2013
Сообщений: 160
По умолчанию

Вот настройки, если они конечно нужны:
[IMG][/IMG]
helpkz вне форума Ответить с цитированием
Старый 28.03.2013, 18:23   #8
helpkz
Форумчанин
 
Регистрация: 23.03.2013
Сообщений: 160
По умолчанию

Это выдало ошибку:
Код:
SimpleDataSet1.DataSet.Parameters.Paramsbyname('fnm').value:='Fulham';
поменял на:
Код:
SimpleDataSet1.DataSet.Params.ParamByName('fnm').value:='Fulham';
Ошибки нет. Но возвращает пустую запись, хотя значение точно есть в таблице.
helpkz вне форума Ответить с цитированием
Старый 28.03.2013, 18:32   #9
mrMeerkat
Следопыт
Форумчанин
 
Аватар для mrMeerkat
 
Регистрация: 26.04.2012
Сообщений: 307
По умолчанию

Цитата:
Сообщение от helpkz Посмотреть сообщение
возвращает пустую запись, хотя значение точно есть в таблице.
Значит запрос проверьте.
У вас в первом посте было 'Fulham%', может так и нужно для LIKE записать
С Баша:Быть ленивым, глупым, жадным, да и просто редкостным гандоном и мудаком по жизни номально, а вот если ты матом ругаешься-то это да, ужасно и достойно общественного порицания.
mrMeerkat вне форума Ответить с цитированием
Старый 28.03.2013, 20:05   #10
helpkz
Форумчанин
 
Регистрация: 23.03.2013
Сообщений: 160
По умолчанию

Цитата:
Сообщение от mrMeerkat Посмотреть сообщение
Значит запрос проверьте.
У вас в первом посте было 'Fulham%', может так и нужно для LIKE записать
Вы имеете ввиду так:
Код:
SimpleDataSet1.DataSet.Params.ParamByName('fnm').Value:='Fulham%';
То же самое
helpkz вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
SQL server 2012 error Руслан Садаев Помощь студентам 0 04.12.2012 13:34
Ошибка Parse error: syntax error, unexpected T_STRING в PHP gunsoy PHP 1 20.07.2012 23:18
Выдает ошибку Parse error: syntax error hasio PHP 1 08.06.2012 16:48
error C2061: syntax error : identifier 'num' DiLLe Visual C++ 4 21.03.2012 11:45
Parse error: syntax error, unexpected ';', expecting T_FUNCTION avduevsky PHP 5 21.09.2011 13:56