Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Запрос с параметром 
:(
    Опции темы
Неопытный
Дата 8.12.2006, 09:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Использую AdoQuery
Запрос:
select Table1.поставщик as p
from Table1
where Table1.поставщик=:post
:post - параметр типа Integer

Код:

      form4.ADOQuery2.Parameters.ParamByName('post').Value:=post;
      form4.ADOQuery2.Open;
     Table1 - таблица Аксеса, поле - длинное целое.
 Результат 0 строк, хотя записи с указанным значением параметра точно есть!
Вроде все правильно делаю. В чем может быть проблема? 


PM MAIL   Вверх
ТоляМБА
Дата 8.12.2006, 09:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Котэ
***


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

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



smile  smile  smile 
Ну есть же FAQ, DRKB, поиск в конце концов!!!
Столько раз уже вопрос обсуждался  smile

Добавлено @ 09:34 
И какой строкой идёт  form4.ADOQuery2.SQL.Text хто указывать будет?
PM   Вверх
Неопытный
Дата 8.12.2006, 09:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Sql указывается в окне запросов. А так спасибо за помощь.
PM MAIL   Вверх
Неопытный
Дата 8.12.2006, 10:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



 var P_post,P_DateTo,P_DateFrom:Tparameter;
 begin
  P_DateTo:=form4.ADOQuery2.Parameters.AddParameter;
  P_DateTo.Name:='dateto';
  P_DateTo.DataType:=ftDateTime;
  P_DateTo.Direction:=pdInput;
      form4.ADOQuery2.Connection:=form4.ADOConnection1;
      P_DateTo.Value:=strtodatetime('3.11.2004');
          form4.ADOQuery2.ExecSQL;

запрос - 
select ГрафикС.поставщик as p
from ГрафикС
where ГрафикС.ДатаПлатежа=:dateto
Вроде все делал как в примерах, но результат - 0 строк. Я понимаю что вопрос заезженный, но не получается у меня.
PM MAIL   Вверх
Неопытный
Дата 8.12.2006, 10:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



С числовым типом работает, а сдатой нет - ведь все как в примерах.
В чем проблема? 
PM MAIL   Вверх
superVad
Дата 8.12.2006, 11:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



попробуй както так:

Код

P_DateTo.asdatetime:=EncodeDateTime(2004,11,3,0,0,0,0)



PM MAIL   Вверх
Неопытный
Дата 8.12.2006, 11:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



У P_DateTo - нет свойства asDateTime и EncodeDateTime - тоже красным подчеркивает.
PM MAIL   Вверх
superVad
Дата 8.12.2006, 11:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



чтоб заработал EncodeDateTime надо в uses добавить DateUtils, а насчет asDateTime - может и нет я с адо не работал - так в голову пришло  smile 
PM MAIL   Вверх
Неопытный
Дата 8.12.2006, 11:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Написал ведь пример слово в слово все равно результат - 0записей. Что с датой?
PM MAIL   Вверх
superVad
Дата 8.12.2006, 11:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



ты уверен что там такиеже даты - до милисекунды?
PM MAIL   Вверх
Неопытный
Дата 8.12.2006, 12:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Попробуйте создать таблу в аксе, в поле типа дата/время запишите дату, например 01.01.2001.
время там вообще нет.

Добавлено @ 12:41 
Вообще обидно,что из за какого то пустячного запроса с параметром столько времени потерял, 
голову сломал уже - не работает хоть убей - 0 строк в запросе и все!
PM MAIL   Вверх
Vas
Дата 8.12.2006, 13:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Вот запрос и выполнение, работает без проблем БД Access способ доступа ADO:
Код

SELECT W.Fio, T.NameType, P.Numvop, P.Numgood, P.Balls, P.DateBegin, P.DateEnd
FROM Works W, TypeWorks T, Protokol P
WHERE W.id=P.IdWorks and W.IdSpecial=T.ID
AND P.DateBegin between :DateBeg and :DateEnd
ORDER BY W.Fio


Код

ADOQueryProtokol.Parameters.ParseSQL(ADOQueryProtokol.SQL.Text, True);
ADOQueryProtokol.Parameters.ParamByName('DateBeg').Value:=FormatDateTime('dd.mm.yyyy',DlgGReport.FrameDateEnter1.DateTimePicker1.Date)+' 00:00:00';
ADOQueryProtokol.Parameters.ParamByName('DateEnd').Value:=FormatDateTime('dd.mm.yyyy',DlgGReport.FrameDateEnter1.DateTimePicker2.Date)+' 23:59:59';
  try
    ADOQueryProtokol.Open;
  except
    on E:EADOError do
      Raise Exception.Create(E.Message);
  end;



--------------------
И опыт, сын ошибок трудных, И гений, парадоксов друг, И случай, бог изобретатель. ... (А.С. Пушкин)
PM MAIL   Вверх
Savek
Дата 8.12.2006, 13:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Цитата(Неопытный @  8.12.2006,  10:09 Найти цитируемый пост)
form4.ADOQuery2.ExecSQL;

Этот метод используется для отправки запросов типа Insert, Update,Create и т.п.
В твоем случае для получения набора данных нужно
Код

form4.ADOQuery2.Open



PM MAIL   Вверх
Неопытный
Дата 8.12.2006, 13:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



попытался так
 P_DateTo.Value:= FormatDateTime('dd.mm.yyyy','01.01.2001')+'00:00:00'
пишет 
There is no overloaded version of 'FormatDateTime' then can be called with these arguments

Добавлено @ 13:24 
Цитата(Savek @ 8.12.2006,  13:14)
Цитата(Неопытный @  8.12.2006,  10:09 Найти цитируемый пост)
form4.ADOQuery2.ExecSQL;

Этот метод используется для отправки запросов типа Insert, Update,Create и т.п.
В твоем случае для получения набора данных нужно
Код

form4.ADOQuery2.Open

Мне нужно будет и Insert, ...
Проблема наверное не в этом
PM MAIL   Вверх
Неопытный
Дата 8.12.2006, 13:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Цитата

попытался так
 P_DateTo.Value:= FormatDateTime('dd.mm.yyyy','01.01.2001')+'00:00:00'
пишет 
There is no overloaded version of 'FormatDateTime' then can be called with these arguments

простите торможу уже совсем.
выходит в аксесе были даты со временем отличным от 00:00:00
и чтобы выдать записи одного дня нужно 
between ...smile0:00:00 and ... 23:59:59 (образно)
хотялось бы конечно попроще ну ладно время уже совсем нет.
Огромное спасибо за помощь.
С функциями преобразования форматов у меня большие проблемы, на досуге обязательно посмотрю , чтобы тупых вопросов не задавать
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.0660 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


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

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