Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Ошибка в параметрах запроса, Помогите, как правильно написать запрос 
V
    Опции темы
kulikoff
Дата 19.1.2006, 17:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



На запрос:
Код

procedure TForm1.sBitBtn5Click(Sender: TObject);
begin
  ADOQuery2.Close;
  ADOQuery2.SQL.Text:='select NUPL from BANKVUP where BANKVUP.ROZ=:d1';
  ADOQuery2.Parameters.ParseSQL(ADOQuery1.SQL.Text, true);
  ADOQuery2.Parameters.ParamByName('d1').Value:='не рознесено';
  ADOQuery2.Open;
end;

выдаёт ошибку
Код

Paremeter 'd1' not found.

Как правильно писать запрос?
PM MAIL WWW ICQ Skype   Вверх
DemoCode
Дата 19.1.2006, 18:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



В SQL надо не двоеточие равно, а просто равно:
Код

'select NUPL from BANKVUP where BANKVUP.ROZ=d1'



--------------------
Жить стало лучше, жить стало веселей
© И.В. Сталин 
PM MAIL ICQ   Вверх
bas
Дата 19.1.2006, 18:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Цитата(DemoCode @ 19.1.2006, 18:18 Найти цитируемый пост)

В SQL надо не двоеточие равно, а просто равно:

Это почему?
Код

ADOQuery2.Parameters.ParamByName('d1').Value:='"не рознесено"';

PM MAIL   Вверх
DemoCode
Дата 19.1.2006, 18:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Это Delphi, а SQL - это язык запросов:

Код

select NUPL from BANKVUP where BANKVUP.ROZ = d1


А так как у тебя неправильно, в SQL нет :=
= в SQL - операция проверки на равенство
:= в Delphi - Операция присваивания

Да у тебя тем более ещё и наоборот =:

Это сообщение отредактировал(а) DemoCode - 19.1.2006, 18:56


--------------------
Жить стало лучше, жить стало веселей
© И.В. Сталин 
PM MAIL ICQ   Вверх
bas
Дата 19.1.2006, 19:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Цитата(DemoCode @ 19.1.2006, 18:54 Найти цитируемый пост)

Это Delphi, а SQL - это язык запросов:

Это точно Delphi , а как передать запрос с параметрами то можнозаглянуть в FAQ
Добавлено @ 19:07
Цитата(DemoCode @ 19.1.2006, 18:54 Найти цитируемый пост)

Да у тебя тем более ещё и наоборот =:

DemoCode - чтото ты спутал.
PM MAIL   Вверх
DemoCode
Дата 19.1.2006, 19:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Цитата(bas @ 19.1.2006, 20:07 Найти цитируемый пост)

DemoCode - чтото ты спутал.


select NUPL from BANKVUP where BANKVUP.ROZ=:d1

smile 3 и 4 с конца символы

Это сообщение отредактировал(а) DemoCode - 19.1.2006, 19:15


--------------------
Жить стало лучше, жить стало веселей
© И.В. Сталин 
PM MAIL ICQ   Вверх
kulikoff
Дата 19.1.2006, 20:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Не, когда хожу через BDE - там стопроцентно ставится двоеточие, а тут - немного удивлен... Тут точно просто равно ставится? Почему тогда оно понимает, что d1 - это параметр, а не ругается на неправильные символы или идентификаторы неизвестные? Код я приводил на Delphi...
PM MAIL WWW ICQ Skype   Вверх
Bose
Дата 19.1.2006, 21:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1458
Регистрация: 5.3.2005
Где: Riga, Latvia

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



DemoCode
двоеточие в этом случае не относится ни к присваиванию, ни к сравнению. Двоеточие указывает на то, что d1 - это параметр!

Цитата(kulikoff @ 19.1.2006, 17:57 Найти цитируемый пост)

Код

procedure TForm1.sBitBtn5Click(Sender: TObject);    
begin    
  ADOQuery2.Close;    
  ADOQuery2.SQL.Text:='select NUPL from BANKVUP where BANKVUP.ROZ=:d1';    
  ADOQuery2.Parameters.ParseSQL(ADOQuery1.SQL.Text, true);    
  ADOQuery2.Parameters.ParamByName('d1').Value:='не рознесено';    
  ADOQuery2.Open;    
end;


попробуй так(не уверен):
Код

  ADOQuery2.Parameters.ParamByName(':d1').Value:='не рознесено';    


а еще может помочь отделить пробелом = от :

PM MAIL WWW Skype   Вверх
bas
Дата 20.1.2006, 10:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



kulikoff - поставь точку останова и посмотри что находиться в
Parameters[0].Value и если он .
В FAQ Петрович - рассматривал данную проблему весьма детально.
PM MAIL   Вверх
kulikoff
Дата 20.1.2006, 10:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



спасибо всем! Нашел ошибку у себя и устранил smile
PM MAIL WWW ICQ Skype   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Базы данных и репортинг"
Vit
Петрович

Запрещено:

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

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


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

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

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


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

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


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

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


 




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


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

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