Форум программистов, компьютерный форум, киберфорум
Delphi: Базы данных
Войти
Регистрация
Восстановить пароль
 
Рейтинг 5.00/9: Рейтинг темы: голосов - 9, средняя оценка - 5.00
0 / 0 / 0
Регистрация: 11.12.2016
Сообщений: 42
1
Interbase

Ошибка SQL запроса , в базе работает, а через IBQuery в Delphi ошибка

14.12.2016, 13:56. Показов 1819. Ответов 5
Метки нет (Все метки)

В Combobox загружены имена организаций.
Нужно выполнить запрос на вывод всех полей таблицы организаций при выборе имени в Combobox.
При выборе имени в комбобоксе выполняется следующее:

Delphi
1
2
3
IBQuery1.SQL.Text:='select *from organizaciya where naimenovanie='+Combobox1.Text;
ibquery1.Open;
ibquery1.Close;
Ошибка SQL запроса , в базе работает, а через IBQuery в Delphi ошибка


Что не так?
0

Помощь в написании контрольных, курсовых и дипломных работ здесь.

Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
14.12.2016, 13:56
Ответы с готовыми решениями:

Запрос работает в IBExpert и не работает в Delphi из компонента IBQuery
Точнее иногда если просматривать его значение в Watch то при открытии видна ошибка Delphi exception...

Ошибка при создании запроса к базе Access
Сразу хочу пояснить, я не программист, начальник попросил на работе сделать программку для учета...

Ошибка запроса SQL
Добрый день. Пытаюсь выполнить запрос на выборку из двух таблиц, но вылетает ошибка. with...

Ошибка выполнения SQL запроса
Такая проблема, уважаемые: Имею базу данных Acces( myBasa1 ) в ней таблица( mytable1 ) содержащая...

5
1038 / 854 / 335
Регистрация: 08.12.2016
Сообщений: 3,283
14.12.2016, 14:14 2
сформированный тобой запрос будет выглядеть так
T-SQL
1
select *from organizaciya where naimenovanie=какое-то наименование
а должно
T-SQL
1
select *from organizaciya where naimenovanie='какое-то наименование'
найди 2 отличия

P.S. хотя такая ошибка должна вызывать другое исключение. Ты уверен, что ошибка именно в этих строках?
0
0 / 0 / 0
Регистрация: 11.12.2016
Сообщений: 42
14.12.2016, 14:22  [ТС] 3
Цитата Сообщение от YuryK Посмотреть сообщение
Ты уверен, что ошибка именно в этих строках?
Да,именно в этих строках.Если их закомментить, то ничего не происходит.

То что написали вы, это так бы выглядел запрос если писать его в IBExpert. И там я эти запросы проверял и они работают.
А как написать через Ibquery в Delphi? Вроде ведь все по логике верно пишу.. после "=" пишу значение текста Combobox.
0
5027 / 3920 / 1296
Регистрация: 14.04.2014
Сообщений: 18,034
Записей в блоге: 18
14.12.2016, 14:27 4
Лучший ответ Сообщение было отмечено ev1lzhenko как решение

Решение

вы не читаете ?
строковое значение должно быть внутри апострофов
у вас их нет, поэтому не работает
включить апостроф в строку можно удвоением
то же самое будет если заключить текстовую переменную в AnsiQuotedChar(Combobox1.Text, '''');
1
1038 / 854 / 335
Регистрация: 08.12.2016
Сообщений: 3,283
14.12.2016, 14:27 5
Лучший ответ Сообщение было отмечено ev1lzhenko как решение

Решение

Цитата Сообщение от ev1lzhenko Посмотреть сообщение
Вроде ведь все по логике верно пишу
писать надо по правилам синтаксиса, а не по логике.
Не веришь? напиши
Delphi
1
IBQuery1.SQL.Text:='select *from organizaciya where naimenovanie='''+Combobox1.Text + '''';
и убедись, что так лучше.

P.S. плохо будет, если в тексте Combobox1 встретится одинарный апостроф '
1
3766 / 3209 / 846
Регистрация: 29.08.2013
Сообщений: 21,182
Записей в блоге: 2
14.12.2016, 16:13 6
Delphi
1
query.sql.text:='select * from T where ID='+QuotedStr(Combobox.Text);
Добавлено через 44 секунды
Delphi
1
2
query.sql.text:='select * from T where ID=:id';
query.Params[0].asString:=Combobox.Text;
1
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
14.12.2016, 16:13

Опасная ошибка запроса в Delphi
Ребята, прошу помощи. У меня есть access база с тремя запросами, один из них кое-как работает, он...

Ошибка при подключении к базе SQL 2000
при подключении к базе нужно использовать LoginPrompt. При запуске появляется ошибка "login failed...

Ошибка SQL запроса к базе mdf с русскими символами
Здравствуйте, помогите пожалуйста, возникает ошибка при попытке SQL запроса к базе mdf(C#) с...

Ошибка при обращении к базе данных Delphi Berlin 10.1 + MS SQL Server 2012
Помогите разобраться. У меня был старый проект в Delphi (Berlin 10.1). Я его немножко изменил для...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.