Параметры SSDT

Я пытаюсь использовать SSDT для развертывания отчета, который позволит вводить 2 параметра, которые я могу использовать для начала и конца файла журнала. Мои параметры объявлены как DateTime в раскрывающемся списке «Параметры» в разделе «Данные отчета». Набор данных также имеет параметры, включенные в его свойства. Это мой оператор SQL и ошибка.

[Declare] @StartTime DateTime 
[Declare] @EndTime Datetime 
SELECT RecordID, AnalysisID, HeatName, NewHeatName, AnalysisTime, SampleType, Grade, NewGrade, ProductID, RecordChangeTime, ChangesMade, LoggedUser
FROM Chemistry_Log
WHERE (RecordChangeTime >= @ StartTime) AND (RecordChangeTime <= @ EndTime)

При разборе содержимого панели SQL были обнаружены следующие ошибки:

Не удалось разобрать текст запроса.

Я не уверен, куда идти дальше, потому что это не очень информативно для сообщения об ошибке...


person Jimmy Live    schedule 22.04.2013    source источник


Ответы (1)


Если вы уже добавили параметры в отчет, вам не нужно объявлять их снова при определении запроса.

Кроме того, возможно, это опечатка, но вы должны удалить пробелы в @ StartTime и @ EndTime

Так что просто что-то вроде:

SELECT RecordID, AnalysisID, HeatName, NewHeatName, AnalysisTime, SampleType, Grade, NewGrade, ProductID, RecordChangeTime, ChangesMade, LoggedUser
FROM Chemistry_Log
WHERE (RecordChangeTime >= @StartTime) AND (RecordChangeTime <= @EndTime)
person Ian Preston    schedule 22.04.2013
comment
Однако на данный момент, когда я вынимаю оператор объявления, он говорит мне, что мне нужно объявить свои переменные. Я также изменил оператор WHERE на WHERE (RecordChangeTime BETWEEN (@StartDate) AND (@EndDate)) но я не думаю, что это имеет значение. Кроме того, пробелов нет, когда я запускаю запрос, но когда я открываю его для редактирования, они появляются. - person Jimmy Live; 22.04.2013