|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
Нет наработок или кода, если нужно готовое решение - создайте тему в разделе Фриланс и оплатите работу. Название темы включает слова - "Помогите", "Нужна помощь", "Срочно", "Пожалуйста". Название темы слишком короткое или не отражает сути вашего вопроса. Тема исчерпала себя, помните, один вопрос - одна тема Прочитайте правила и заново правильно создайте тему. |
|
Опции темы | Поиск в этой теме |
11.03.2009, 19:03 | #1 |
Пользователь
Регистрация: 04.03.2009
Сообщений: 16
|
Ошибка Sql запроса
Привет всем!!
Начал изучать БД--столкнулся с такой проблемой --делаю запрос Код:
Поля в базе созданы. Помогите новичку плиз!!!! |
11.03.2009, 19:15 | #2 |
*
Старожил
Регистрация: 22.11.2006
Сообщений: 9,201
|
Ищите, куда у вас подевалось поле SIZE.
И если оно есть, переименуйте его - что за дурная привычка давать полям имена, совпадающие с зарезервированными именами? Вы бы еще назвали поле "SELECT"... |
11.03.2009, 19:42 | #3 |
Форумчанин
Регистрация: 06.03.2009
Сообщений: 583
|
Думаю проблема в том, что пробелов не хватает между полями и поэтому текст просто сливается, то есть SQL.Add(' ORDER BY Size'), но лучше данное выражение записывать одной строкой и пользоваться для удобства функцией quotedstr, которая создает кавычки, то есть код примерно такой
with Form1.Query1 do begin Close; SQL.Add('SELECT * FROM ":Stend:Data.db" WHERE Number='+quotedstr(Edit1.text)+' ORDER BY Size'); Open; end; Обычно примерно так прописываю для удобства, данную строку не проверял в Delphi, но должно сработать
Не стыдно чего-то не знать, стыдно не стремиться к знаниям.
|
11.03.2009, 20:13 | #4 |
*
Старожил
Регистрация: 22.11.2006
Сообщений: 9,201
|
Это не влияет. Я еще раньше проверил синтаксис именно в том виде - все работает.
Хотя сам предпочитаю немного по-другому: SQL.Text:='SELECT * FROM ":Stend:Data.db" WHERE Number='+quotedstr(Edit1.text)+' ORDER BY Size'; Потому как в вашем варианте нужно еще добавлять SQL.Clear; А мою строку никто не мешает разбить на несколько для удобства. Например: SQL.Text:='SELECT * FROM ":Stend:Data.db" WHERE Number='+ quotedstr(Edit1.text)+ ' ORDER BY Size'; Последний раз редактировалось mihali4; 11.03.2009 в 20:16. |
12.03.2009, 10:13 | #5 |
Пользователь
Регистрация: 04.03.2009
Сообщений: 16
|
Ребята спасибо за ответы--но к сожалению оба варианта не проходят --все та же ошибка
Насчет поля Size--пробовал вставлять другие поля --то же самое у меня 5 полей: Number-A,Date-D;Size-A;Stend-S;Reserv-A; В DBGrid--все поля выводятся без проблем , но вот с запросом никак--единственное поле которое принимает запрос это Number--причем и в Select и в ORDER BY --при подстановке других полей выдается ошибка. Может я в самой базе мог что нибудь с полями наортачить???? |
12.03.2009, 10:18 | #6 |
*
Старожил
Регистрация: 22.11.2006
Сообщений: 9,201
|
Переименуйте поля, вам же сказали...
Пусть хоть MyDate, MySize, MyNumber... Не получится - прикрепляйте сюда вашу табличку. |
12.03.2009, 10:51 | #7 |
Пользователь
Регистрация: 04.03.2009
Сообщений: 16
|
mihail4--огромное Спасибо--действительно помогло--после переименования все заработало!!!!!
|
12.03.2009, 18:33 | #8 |
SQL-коддинг
Участник клуба
Регистрация: 16.01.2009
Сообщений: 1,192
|
если не рассматривать траблу с именованием полей, то еще есть вариант сортировки по порядку выборки полей
order by 3 |
13.03.2009, 09:08 | #9 | |
Пользователь
Регистрация: 04.03.2009
Сообщений: 16
|
Цитата:
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Ошибка выполнения sql запроса при изменении данных | XATAB | БД в Delphi | 4 | 28.02.2009 15:44 |
Обработка SQL-запроса | iid2007 | Microsoft Office Access | 2 | 10.07.2008 12:41 |
1С: debug SQL-запроса. | crazy horse | SQL, базы данных | 0 | 05.06.2008 08:19 |
Некоректная работа SQL- запроса | Tan | БД в Delphi | 4 | 05.04.2008 20:40 |