Поиск:

Ответ в темуСоздание новой темы Создание опроса
> SQL запрос 
:(
    Опции темы
addet
Дата 29.1.2008, 11:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Помоги разобраться с ошибкой:Operator not applicable to this operand type. 
Запрос должен выбирать записи из базы , когда выбираешь дату (datetimepicker) и предприятие (DBLookupComboBox). выводится в dbgrideh.Вот код:
Код

procedure TfrChild_160.DateTimePicker1Change(Sender: TObject);
begin
ADOQuery1.Close;
ADOQuery1.SQL.Text :=
' select * from str160 ' +
' where date_in = ' + ''''
+ FormatDateTime (' mm-yyyy ',DateTimePicker1.Date ) + ' -01 '+ ''''
 and ' kod_predrpiyatiya = ' + IntToStr(DBLookupComboBox1.KeyValue);
ADOQuery1.Open;
end; 



Не могу разобраться, где ошибка
PM MAIL   Вверх
Frees
Дата 29.1.2008, 11:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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

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



Попробуй делать через параметры и AsDate используй

Добавлено через 3 минуты и 12 секунд
http://forum.vingrad.ru/forum/topic-192772.html

тут похожее обсудили


--------------------
Кольцов Виктор Владимирович
PM MAIL ICQ   Вверх
Rodman
Дата 29.1.2008, 11:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


CIO
****


Профиль
Группа: Участник
Сообщений: 6144
Регистрация: 7.5.2006
Где: Ukraine ⇛ Kyiv ci ty

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



 Какая СУБД???
PM MAIL WWW Skype GTalk YIM MSN   Вверх
X-Vlad
Дата 29.1.2008, 12:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Код

procedure TfrChild_160.DateTimePicker1Change(Sender: TObject);
const
  aSQL = 'select * from str160 ' +
              ' where date_in = %s and ' +
              ' kod_predrpiyatiya = %d';
var
  aDate: String;
begin
  aDate := FormatDateTime (' mm-yyyy ',DateTimePicker1.Date ) + '-01';
  with ADOQuery1 do begin 
    Close;
    SQL.Clear;
    SQL.Text := Format(aSQL, [QuotedStr(aDate), DBLookupComboBox1.KeyValue]);
    Open;
  end;
end; 



Это сообщение отредактировал(а) X-Vlad - 29.1.2008, 12:07


--------------------
Хорошая штука - комп..:)
www.x-vlad.com
PM MAIL WWW ICQ   Вверх
addet
Дата 29.1.2008, 12:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Использую access, конентюсь к ней через ado
PM MAIL   Вверх
addet
Дата 29.1.2008, 13:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



И еще такой вопросик. Возможно ли в этот запрос запихнуть еще и визуализацию определенных полей в dbgrideh?Требуется, чтобы по дате указанной в datetimepicker, в dbgrideh отображались столбцы(visible=true) из базы данных.Помогите ламеру smile 
PM MAIL   Вверх
Rodman
Дата 29.1.2008, 13:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


CIO
****


Профиль
Группа: Участник
Сообщений: 6144
Регистрация: 7.5.2006
Где: Ukraine ⇛ Kyiv ci ty

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



привяжи к Query
PM MAIL WWW Skype GTalk YIM MSN   Вверх
addet
Дата 29.1.2008, 13:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Я понимаю,что привязать, но как не пойму smile 
PM MAIL   Вверх
addet
Дата 29.1.2008, 14:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



пробывала с исправленным кодом кодом, который привел
X-Vlad, но при выполнении происходит ошибка "format %d invalid or incompatible with argument"
PM MAIL   Вверх
Rodman
Дата 29.1.2008, 14:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


CIO
****


Профиль
Группа: Участник
Сообщений: 6144
Регистрация: 7.5.2006
Где: Ukraine ⇛ Kyiv ci ty

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



Цитата(addet @  29.1.2008,  12:37 Найти цитируемый пост)
Я понимаю,что привязать, но как не пойму smile  

Через компонент DataSource... такое поле усть в гриде!
PM MAIL WWW Skype GTalk YIM MSN   Вверх
X-Vlad
Дата 29.1.2008, 14:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Цитата(addet @ 29.1.2008,  13:09)
пробывала с исправленным кодом кодом, который привел
X-Vlad, но при выполнении происходит ошибка "format %d invalid or incompatible with argument"

если у тебя 
Код

DBLookupComboBox1.KeyValue
 не integer о надо использовать 
Код

aSQL = 'select * from str160 ' +
              ' where date_in = %s and ' +
              ' kod_predrpiyatiya = %s';



--------------------
Хорошая штука - комп..:)
www.x-vlad.com
PM MAIL WWW ICQ   Вверх
addet
Дата 29.1.2008, 14:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Все дело в том, что при использовании DBLookupComboBox(таблица Предприятия) я указываю key field= kod, list field=text. А date_in
(DateTimePicker) находится в таблице Расшифровка строки.Может причина где то здесь.Запуталась
PM MAIL   Вверх
addet
Дата 30.1.2008, 08:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



X-Vlad, заработало нужно было все таки заменить на %s. Сначало не работало, потому что в базе данных и в datetimepicker стояли разные форматы даты.Спасибо всем  огромное. smile

Добавлено через 10 минут и 34 секунды
Но все равно остался не решенным вопрос как сюда прикрутить визуализацию и скрытие некоторых столбцов в dbgrideh по дате (например, выбран месяц февраль-появляются столбцы в гриде с датой февраля, а за январь пропадают). столбцы уже созданы в базе.
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "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.1367 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


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

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