Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Ошибка в sql запросе 
:(
    Опции темы
dimafeng
Дата 13.7.2006, 06:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 95
Регистрация: 12.3.2006

Репутация: нет
Всего: нет



Невыполняет следущий код:
Код

query1.SQL.add('SELECT nameof, date');
query1.SQL.add('FROM "medc.db"');
query1.SQL.add('WHERE');
query1.SQL.add('("Key"="'+DBGrid1.Fields[0].Text+'")');

ругается либо на date, либо при запросе вообще ничего не выводит.

key числовое поле.
 
PM MAIL   Вверх
ТоляМБА
Дата 13.7.2006, 07:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Котэ
***


Профиль
Группа: Завсегдатай
Сообщений: 1607
Регистрация: 15.12.2004

Репутация: 3
Всего: 252



Зачем Key заковычен? Если потому что это ключевое слово, тогда date надо тоже заковычивать. А так пока нет:
Обязательно указание:
1. Базы данных (Paradox, Oracle и т.п.)
2. Способа доступа (ADO, BDE и т.д.)

 smile 
 
PM   Вверх
vv3
Дата 13.7.2006, 11:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 75
Регистрация: 29.4.2006

Репутация: нет
Всего: нет



Пробелы в конце строк добавь.... smile  
PM MAIL   Вверх
kulikoff
Дата 13.7.2006, 11:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 334
Регистрация: 5.11.2005
Где: Киев

Репутация: 1
Всего: 1



или в начале каждой новой строки)))) 
PM MAIL WWW ICQ Skype   Вверх
bas
Дата 13.7.2006, 12:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 446
Регистрация: 14.8.2002
Где: Молдова, Кишинев

Репутация: 1
Всего: 2



Код

query1.SQL.add('SELECT nameof, [date]');
query1.SQL.add('FROM "medc.db"');
query1.SQL.add('WHERE');
query1.SQL.add('([Key]='+DBGrid1.Fields[0].Text+')');


Добавлено @ 12:03 
Цитата(dimafeng @  13.7.2006,  06:45 Найти цитируемый пост)
ругается либо на date, 

Желательно не называть поля зарезервироваными словами (Reserved words). 
PM MAIL   Вверх
dimafeng
Дата 15.7.2006, 16:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 95
Регистрация: 12.3.2006

Репутация: нет
Всего: нет



Цитата

Желательно не называть поля зарезервироваными словами (Reserved words).  


Все заработало, когда я поменял имена полей date и key.

всем спасибо. 
PM MAIL   Вверх
Ramin
Дата 17.7.2006, 10:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 23
Регистрация: 17.7.2006
Где: Азербаиджан, Баку

Репутация: нет
Всего: нет



2dimafeng  нужно параметры исползывать,  параметры!

Код

query1.close;
 query1.SQL.Clear; 
 query1.SQL.add('SELECT nameof, date');
 query1.SQL.add('FROM "medc.db"');
 query1.SQL.add('WHERE Key=:key');
  query1.parambyname('key').asinteger:=strtoint(DBGrid1.Fields[0].Text);
query1.open;
 
PM MAIL WWW ICQ   Вверх
Akella
Дата 20.7.2006, 09:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Творец
****


Профиль
Группа: Модератор
Сообщений: 18485
Регистрация: 14.5.2003
Где: Корусант

Репутация: 29
Всего: 329



key и date советую заменть на id и data, например, т.к это могут быть ключевые слова 
PM MAIL   Вверх
kostas
Дата 21.7.2006, 15:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 100
Регистрация: 21.7.2006

Репутация: 1
Всего: 4



имхо проще запрос задавать текстом, для перевода строки использовать #13#10, к примеру:
Код

...
Query1.SQL.Text:='SELECT *'+#13#10+
                 'FROM database_name';
...


и еще один момент: желательно все же в запросе указывать одиночные кавычки ;)

т.е. вот так:
Код

query1.SQL.Text:='SELECT nameof, [date]'+#13#10+
                 'FROM ''medc.db''';
                 'WHERE'+#13#10+
                 '[Key]='+DBGrid1.Fields[0].Text;
  

Это сообщение отредактировал(а) kostas - 21.7.2006, 15:42
PM ICQ   Вверх
Akella
Дата 27.7.2006, 09:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Творец
****


Профиль
Группа: Модератор
Сообщений: 18485
Регистрация: 14.5.2003
Где: Корусант

Репутация: 29
Всего: 329



kostas,  а зачем #13#10???
что так нельзя?
Код
Query1.SQL.Text:='SELECT * FROM database_name';

или так
Код
Query1.SQL.ADD('SELECT * FROM database_name');
 
PM MAIL   Вверх
kostas
Дата 29.7.2006, 08:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 100
Регистрация: 21.7.2006

Репутация: 1
Всего: 4



конечно можно, но если запрос огромен, то в одну строку все писать неудобно. 

Это сообщение отредактировал(а) kostas - 29.7.2006, 08:53
PM ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Базы данных и репортинг"
Vit
Петрович

Запрещено:

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами


Обязательно указание:

1. Базы данных (Paradox, Oracle и т.п.)

2. Способа доступа (ADO, BDE и т.д.)


  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи
  • Вопросы по SQL и вопросы по базам данных не связанные с Дельфи задавать здесь

FAQ раздела лежит здесь!


Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Vit, Петрович.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Базы данных и репортинг | Следующая тема »


 




[ Время генерации скрипта: 0.0892 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.