С Новым годом! Форум программистов, компьютерный форум, киберфорум
Delphi: Базы данных
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/15: Рейтинг темы: голосов - 15, средняя оценка - 4.67
7 / 7 / 2
Регистрация: 19.11.2009
Сообщений: 105

Ошибка синтаксиса в предложении from

24.09.2013, 21:38. Показов 2921. Ответов 10
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Delphi
1
2
3
4
5
6
7
8
try
ADOQuery1.Active:=False;
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Add('SELECT * FROM '+ComboBox1.Items[ComboBox1.ItemIndex]);
ADOQuery1.Active:=True;
except
on EDataBaseError do ADOQuery1.ExecSQL;
end;
В ComboBox следущее:
Delphi
1
2
3
4
17375
17378
17379
ТУ 1381-012-05757848-2005
Первые три строчки нормально отрабатывают, на 4 ругается. Думал что из-за пробела - менял на нижнее подчеркивание, результат не изменился.
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
24.09.2013, 21:38
Ответы с готовыми решениями:

Ошибка синтаксиса
Всем спасибо за предыдущие ответы. qry1.close; qry1.SQL.Clear; qry1.SQL.Text := 'SELECT Номера., Клиенты., Клиенты., Клиенты.'+ ...

Ошибка синтаксиса
не могу понять в чём пречина при обработке проджекта пишет ошибка синтаксиса ) хотя при проверке ошибок не находит..... помогите...

Ошибка синтаксиса
Подскажите где ошибка в синтаксисе? База в Access-e. dtmdl1.qryMain.SQL.Add('SELECT TOP 24 Chastota.×àñòîòà,...

10
3530 / 2270 / 279
Регистрация: 24.12.2010
Сообщений: 13,723
24.09.2013, 21:52
Цитата Сообщение от M9sNik Посмотреть сообщение
менял на нижнее подчеркивание
От балды что ли менял ?
Статья FROM ожидает имя заведомо существующей таблицы - она у тебя либо с пробелом либо без оного. Или ты еще и имя реально существующей таблицы в самой базе при этом переделываешь, затыкая пробел знаком подчеркивания ?)
0
7 / 7 / 2
Регистрация: 19.11.2009
Сообщений: 105
24.09.2013, 22:07  [ТС]
Цитата Сообщение от mss Посмотреть сообщение
От балды что ли менял ?
Статья FROM ожидает имя заведомо существующей таблицы - она у тебя либо с пробелом либо без оного. Или ты еще и имя реально существующей таблицы в самой базе при этом переделываешь, затыкая пробел знаком подчеркивания ?)
Так комбобокс получает имена таблиц:
Delphi
1
2
3
4
5
6
7
8
var sl:TStrings;
i:integer; s:string;
begin
sl:=TStringList.Create;
ADOConnection1.GetTableNames(sl, false);
for I := 1 to sl.Count-1 do
ComboBox1.Items.Add(sl[i]);
end;
Так что поменять пробел на подчеркивание я мог только в одном месте
0
3530 / 2270 / 279
Регистрация: 24.12.2010
Сообщений: 13,723
24.09.2013, 22:12
Цитата Сообщение от M9sNik Посмотреть сообщение
поменять пробел на подчеркивание я мог только в одном месте
Ну понятно - менял от балды)
Ну тогда попробуй не от балды, а просто заключить имя реальной таблицы в квадратные скобки.
1
 Аватар для U-III
59 / 59 / 12
Регистрация: 24.10.2012
Сообщений: 170
24.09.2013, 23:08
Немного подзабыл. Но мне кажется должно быть так
Delphi
1
2
3
4
5
6
7
8
try
ADOQuery1.Active:=False;
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Add('SELECT * FROM '''+ComboBox1.Items[ComboBox1.ItemIndex]+'''');
ADOQuery1.Active:=True;
except
on EDataBaseError do ADOQuery1.ExecSQL;
end;
0
Модератор
 Аватар для FIL
3492 / 2614 / 742
Регистрация: 19.09.2012
Сообщений: 7,977
24.09.2013, 23:18
Цитата Сообщение от M9sNik Посмотреть сообщение
Так комбобокс получает имена таблиц:
Так проще:
Delphi
1
  ADOConnection1.GetTableNames(ComboBox1.Items);
0
пофигист широкого профиля
4769 / 3204 / 862
Регистрация: 15.07.2013
Сообщений: 18,609
24.09.2013, 23:19
Цитата Сообщение от U-III Посмотреть сообщение
except on EDataBaseError do ADOQuery1.ExecSQL;
А это что?
0
Модератор
 Аватар для FIL
3492 / 2614 / 742
Регистрация: 19.09.2012
Сообщений: 7,977
24.09.2013, 23:19
Цитата Сообщение от U-III Посмотреть сообщение
Немного подзабыл. Но мне кажется должно быть так
Должно быть так:
Цитата Сообщение от mss Посмотреть сообщение
заключить имя реальной таблицы в квадратные скобки.
0
3530 / 2270 / 279
Регистрация: 24.12.2010
Сообщений: 13,723
24.09.2013, 23:25
Тут веселее совсем другое: попытка выполнения селективного запроса методом ExecSQL.
M9sNik, вот ликбез на эту тему.
0
 Аватар для U-III
59 / 59 / 12
Регистрация: 24.10.2012
Сообщений: 170
24.09.2013, 23:33
Цитата Сообщение от FIL Посмотреть сообщение
Должно быть так:
Ну я с MySQL перепутал...
0
25.09.2013, 00:20

Не по теме:

Цитата Сообщение от mss Посмотреть сообщение
Тут веселее совсем другое: попытка выполнения селективного запроса методом ExecSQL.
Но только в случае неудачи с Active=True. Если так не получилось, авось эдак получится. :)

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
25.09.2013, 00:20
Помогаю со студенческими работами здесь

Ошибка синтаксиса
Помогите пожалуйста! Понимаю что где то в синтаксисе ошибка, но не могу понять где именно: procedure TForm1.ComboBox1Change(Sender:...

Ошибка синтаксиса
INSERT INTO Users Values (:RegUserName, :RegPassword)

DBLookupComboBox ошибка синтаксиса
Доброго времени суток.. прошу помочь с кодом. выдает ошибку синтаксиса.. весь код перепроверила не могу понять в чем дело.. procedure...

Ошибка синтаксиса UPDATE
Приветствую. Начинаю сходить с ума. ... var summa:string; ... if fix.Text<>'0' then summa:=fix.Text; ... ...

Ошибка синтаксиса INSERT INTO
Добрый день. Ошибка синтаксиса INSERT INTO. Подскажите что не так. FOrm1.ADOQueryCopyZak.Active:=false; ...


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

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
Новые блоги и статьи
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR ВВЕДЕНИЕ Введу сокращения: аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
Модель микоризы: классовый агентный подход 2
anaschu 06.01.2026
репозиторий https:/ / github. com/ shumilovas/ fungi ветка по-частям. коммит Create переделка под биомассу. txt вход sc, но sm считается внутри мицелия. кстати, обьем тоже должен там считаться. . . .
Расчёт токов в цепи постоянного тока
igorrr37 05.01.2026
/ * Дана цепь постоянного тока с сопротивлениями и напряжениями. Надо найти токи в ветвях. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа и решает её. Последовательность действий:. . .
Новый CodeBlocs. Версия 25.03
palva 04.01.2026
Оказывается, недавно вышла новая версия CodeBlocks за номером 25. 03. Когда-то давно я возился с только что вышедшей тогда версией 20. 03. С тех пор я давно снёс всё с компьютера и забыл. Теперь. . .
Модель микоризы: классовый агентный подход
anaschu 02.01.2026
Раньше это было два гриба и бактерия. Теперь три гриба, растение. И на уровне агентов добавится между грибами или бактериями взаимодействий. До того я пробовал подход через многомерные массивы,. . .
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод. Thinkpad X220 Tablet —. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru