Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > Базы данных
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 16.11.2011, 11:07
byk byk вне форума
Прохожий
 
Регистрация: 16.11.2011
Сообщения: 14
Репутация: 10
По умолчанию запрос к бд

Всем доброго времени суток.
Я чайник в объектно ориентированном программировании и с базой не имел раньше дела, поэтому есть вопрос.
Задача выдать сумму значений 1 столбца, которые удовлетворяют условию другого.
Компоненты которые я использую: dbgrid, datasource, query, edit и button.
В sql редактор query подал запрос:
Код:
select sum(kkk_kkk) from ttttt where bbb=:rrrr

(rrrr - енто моя переменная)
В кнопу написал следующее...
Код:
Query1.ParamByName('rrrr').AsString:=Edit1.Text;
Query1.Active:= true
после запуска выдает ошибку "Parametr rrrr not found".
Объясните пожалуйста что я делаю не так?

Последний раз редактировалось byk, 16.11.2011 в 15:27.
Ответить с цитированием
  #2  
Старый 16.11.2011, 11:26
Pyro Pyro вне форума
Так проходящий
 
Регистрация: 18.07.2011
Сообщения: 805
Версия Delphi: 7Lite
Репутация: 6063
По умолчанию

количество букав r?
Ответить с цитированием
  #3  
Старый 16.11.2011, 11:38
Аватар для Ildar-tsr
Ildar-tsr Ildar-tsr вне форума
Местный
 
Регистрация: 09.08.2011
Адрес: г.Сургут, ХМАО
Сообщения: 453
Репутация: 7402
По умолчанию

А bbb какого типа? Число или строку внести пытаешься?
__________________
Google в помощь
Ответить с цитированием
  #4  
Старый 16.11.2011, 12:22
Аватар для Страдалецъ
Страдалецъ Страдалецъ вне форума
Гуру
 
Регистрация: 09.03.2009
Адрес: На курорте, из окна вижу теплое Баренцево море. Бррр.
Сообщения: 4,721
Репутация: 52347
По умолчанию

Как уже ранее заметили rrrr явно не равно rrrrr
__________________
Жизнь такова какова она есть и больше никакова.
Помогаю за спасибо.
Ответить с цитированием
  #5  
Старый 16.11.2011, 15:27
byk byk вне форума
Прохожий
 
Регистрация: 16.11.2011
Сообщения: 14
Репутация: 10
По умолчанию

Ошибка явно не в количестве r это я просто название заменил
bbb - в базе записано как char хотя содержит числа типа 1009;1105.
Ответить с цитированием
  #6  
Старый 16.11.2011, 16:40
Аватар для Ildar-tsr
Ildar-tsr Ildar-tsr вне форума
Местный
 
Регистрация: 09.08.2011
Адрес: г.Сургут, ХМАО
Сообщения: 453
Репутация: 7402
По умолчанию

Цитата:
Сообщение от byk
Ошибка явно не в количестве r это я просто название заменил
bbb - в базе записано как char хотя содержит числа типа 1009;1105.

Тогда делай так:
Код:
if Query1.Active then
  Query1.Close;
Query1.ParamByName('rrrr').DataType:= ftString;
Query1.ParamByName('rrrr').Value:=Edit1.Text;
Query1.Open;
__________________
Google в помощь

Последний раз редактировалось Ildar-tsr, 16.11.2011 в 16:42.
Ответить с цитированием
  #7  
Старый 16.11.2011, 17:02
byk byk вне форума
Прохожий
 
Регистрация: 16.11.2011
Сообщения: 14
Репутация: 10
По умолчанию

Цитата:
Сообщение от Ildar-tsr
Тогда делай так:
Код:
if Query1.Active then
  Query1.Close;
Query1.ParamByName('rrrr').DataType:= ftString;
Query1.ParamByName('rrrr').Value:=Edit1.Text;
Query1.Open;
Не помогло и я наверно знаю почему. Программа не видит rrrr в sql запросе. Как мне задать этот rrrr в query чтоб он его не удалял и не определял как ошибку?
-если писал в запросе ...='rrrr' это получалось как значение rrrr из столбца bbb.
-если писал ...=:rrrr он просто напросто удалял и оставлял пустое значение.
-если писал ...=rrrr выходила ошибка и запрос не сохранялся

Последний раз редактировалось byk, 16.11.2011 в 17:07.
Ответить с цитированием
  #8  
Старый 16.11.2011, 17:19
Аватар для Ildar-tsr
Ildar-tsr Ildar-tsr вне форума
Местный
 
Регистрация: 09.08.2011
Адрес: г.Сургут, ХМАО
Сообщения: 453
Репутация: 7402
По умолчанию

Цитата:
Сообщение от byk
Не помогло и я наверно знаю почему.

Что значит не помогло? Какую он ошибку выдает?
__________________
Google в помощь
Ответить с цитированием
  #9  
Старый 16.11.2011, 17:19
Pyro Pyro вне форума
Так проходящий
 
Регистрация: 18.07.2011
Сообщения: 805
Версия Delphi: 7Lite
Репутация: 6063
По умолчанию

каждый раз переписывй запрос]
Ответить с цитированием
  #10  
Старый 16.11.2011, 17:28
byk byk вне форума
Прохожий
 
Регистрация: 16.11.2011
Сообщения: 14
Репутация: 10
По умолчанию

Цитата:
Сообщение от Ildar-tsr
Что значит не помогло? Какую он ошибку выдает?
Query1: parameter 'rrrr' not found
Ответить с цитированием
  #11  
Старый 16.11.2011, 18:02
Аватар для Ildar-tsr
Ildar-tsr Ildar-tsr вне форума
Местный
 
Регистрация: 09.08.2011
Адрес: г.Сургут, ХМАО
Сообщения: 453
Репутация: 7402
По умолчанию

Цитата:
Сообщение от byk
Query1: parameter 'rrrr' not found

Пропиши в кверике как было в первом посте:
Код:
select sum(kkk_kkk) from ttttt where bbb=:rrrr
Потом во вкладке Properties (где указываются характеристики компонентов) зайди в Parameters. Если там нет твоего rrrr, то нажми на иконку с папкой (при наведении курсора - Add New). Далее для него в поле (вкладка properties) Name пишешь rrrr, а в поле DataType выбираешь ftString.
И пробуешь запустить свой обработчик нажатия кнопки, тот что в своем первом посте.
__________________
Google в помощь
Ответить с цитированием
  #12  
Старый 17.11.2011, 09:36
byk byk вне форума
Прохожий
 
Регистрация: 16.11.2011
Сообщения: 14
Репутация: 10
По умолчанию

Цитата:
Сообщение от Ildar-tsr
Пропиши в кверике как было в первом посте:
Код:
select sum(kkk_kkk) from ttttt where bbb=:rrrr
Потом во вкладке Properties (где указываются характеристики компонентов) зайди в Parameters. Если там нет твоего rrrr, то нажми на иконку с папкой (при наведении курсора - Add New). Далее для него в поле (вкладка properties) Name пишешь rrrr, а в поле DataType выбираешь ftString.
И пробуешь запустить свой обработчик нажатия кнопки, тот что в своем первом посте.
Я так уже пробовал. При открытии свойства Params кнопка добавить "Add new" не активна, и ни 1 параметра в списке нету.
Ответить с цитированием
  #13  
Старый 17.11.2011, 09:58
Аватар для Ildar-tsr
Ildar-tsr Ildar-tsr вне форума
Местный
 
Регистрация: 09.08.2011
Адрес: г.Сургут, ХМАО
Сообщения: 453
Репутация: 7402
По умолчанию

Какой кверик используешь? Это не ADO точно, больше похож на OraQuery.
__________________
Google в помощь
Ответить с цитированием
  #14  
Старый 17.11.2011, 11:26
Аватар для Страдалецъ
Страдалецъ Страдалецъ вне форума
Гуру
 
Регистрация: 09.03.2009
Адрес: На курорте, из окна вижу теплое Баренцево море. Бррр.
Сообщения: 4,721
Репутация: 52347
По умолчанию

Может хватит темнить? Исходный текст запроса выложите.
__________________
Жизнь такова какова она есть и больше никакова.
Помогаю за спасибо.
Ответить с цитированием
  #15  
Старый 17.11.2011, 11:29
byk byk вне форума
Прохожий
 
Регистрация: 16.11.2011
Сообщения: 14
Репутация: 10
По умолчанию

TQuery(BDE)
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 17:28.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter