Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.47 MB
Время: -0.436 c
7-13496
Apollo
2003-03-21 11:49
2003.06.05
Програмное нажатие клавиш в DOS-приложении из Delphi


14-13419
vidiv
2003-04-29 12:57
2003.06.05
как разобрать блок питания на котором не болтика, и


7-13494
Замученный
2003-04-02 17:38
2003.06.05
Работа с com портом


4-13512
Shirson
2003-04-07 09:01
2003.06.05
Проблема с GlobalHandle.


1-13323
qwerty2
2003-05-25 13:02
2003.06.05
Массив из TStrings




   Наверх