Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.06.05;
Скачать: CL | DM;

Вниз

Несоответствие типов данных   Найти похожие ветки 

 
Caesar ©   (2003-05-19 10:43) [0]

Помогите! Пишу вроде простой запрос:
SELECT Model, First(Proisvod) AS Proisvod, Min(Date) AS MinDate, Max(Date) AS MaxDate, Sum(Count) AS SumCount, First(Type) AS Type, First(Pogr) AS Pogr
FROM Spravka WHERE (Id_Oper = 8) AND (Spravka.DateProv BETWEEN "01.01.2003" AND "01.05.2003") GROUP BY Model ORDER BY Model
Выдается ошибка: "Несоответствие типов данных в выражении условия отбора" Вроде с типами данных ничего не напутал! В чем может быть дело?


 
sniknik ©   (2003-05-19 10:48) [1]

в датах, дело может быть в датах. с ними вобще лутше работать через параметры.
потому что может быть различное представление в зависимости от параметров, возможно у тебя пройдет "01/01/2003" (а может и нет).


 
Geka ©   (2003-05-19 10:51) [2]

Min(Date) - поле лучше Date не называть...


 
Caesar ©   (2003-05-19 10:52) [3]

Понятно что в датах=) но "01/01/2003" не прочодит(:


 
Caesar ©   (2003-05-19 10:54) [4]

Geka к этой ошибке отношения не имеет=)


 
Caesar ©   (2003-05-19 10:56) [5]

Вообще выглядит так:
QueryReport.SQL.Clear;
QueryReport.SQL.Add("SELECT Model, First(Proisvod) AS Proisvod, Min(Date) AS MinDate, Max(Date) AS MaxDate, Sum(Count) AS SumCount, First(Type) AS Type, First(Pogr) AS Pogr");
QueryReport.SQL.Add("FROM Spravka WHERE (Id_Oper =");
str:= (ListOper.KeyValue);
QueryReport.SQL.Add(str);
QueryReport.SQL.Add(") AND (Spravka.DateProv BETWEEN");
Date:= #39 + DateMin + #39 + "AND"+ #39 + DateMax + #39 + ")";
QueryReport.SQL.Add(Date);
QueryReport.SQL.Add(" GROUP BY Model ORDER BY Model");
QueryReport.Open;
Кто нибудь поможет?


 
Mike Kouzmine ©   (2003-05-19 10:58) [6]

А попробуй параметры


 
Соловьев ©   (2003-05-19 10:59) [7]


> Кто нибудь поможет?

ответы почему не читаешь?
тебе же написали про параметры. sniknik © (19.05.03 10:48)



 
Caesar ©   (2003-05-19 11:14) [8]

Получилось=) Спасибо!


 
Victor_Cr ©   (2003-05-19 11:15) [9]

Результатом выполнения таких строк:
QueryReport.SQL.Add("SELECT Model, First(Proisvod) AS Proisvod, Min(Date) AS MinDate, Max(Date) AS MaxDate, Sum(Count) AS SumCount, First(Type) AS Type, First(Pogr) AS Pogr");
QueryReport.SQL.Add("FROM Spravka WHERE (Id_Oper =");

Будет строка
"SELECT Model, First(Proisvod) AS Proisvod, Min(Date) AS MinDate, Max(Date) AS MaxDate, Sum(Count) AS SumCount, First(Type) AS Type, First(Pogr) AS PogrFROM Spravka WHERE (Id_Oper =

Пробел нужен...


 
Caesar ©   (2003-05-19 11:33) [10]

Victor_Cr: Нет! Тут дело было вовсе не в пробеле! Просто дата записывается в формате #01/01/2003# и всё! А FROM слово зарезервированное и пробел никакой не был нужен! Если было так выдало бы синтаксическую ошибку=)))



Страницы: 1 вся ветка

Текущий архив: 2003.06.05;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.017 c
1-13236
Vitalik
2003-05-27 14:04
2003.06.05
class


1-13186
AlexCool
2003-05-26 13:10
2003.06.05
Напечатать документ Word в Canvas?


14-13376
Doom
2003-05-19 23:43
2003.06.05
Диаметр окружности, вписанной в многоугольник


14-13446
Style
2003-05-07 23:29
2003.06.05
Delphi Challenge: Judge Client - програмулька для судейства.


9-12982
Анат
2002-12-15 12:22
2003.06.05
ИскуственныйИнтелект