Ошибка хранимой процедуры PetaPoco «Неверный синтаксис рядом с ключевым словом« ОТ ».}} - PullRequest
2 голосов
/ 27 января 2012

Я использую C # с TSQL и SQL Server 2005

Я пытаюсь использовать PetaPoco для возврата набора данных в виде списка объектов.это код, который я использую только сейчас

var s = PetaPoco.Sql.Builder.Append("USE [BI] EXEC [dbo].[TestProcedure2];");
            var result =  db.Query<dynamic>(s);

var result2 = db.Query<dynamic>("USE [BI] EXEC [dbo].[TestProcedure2];");

Я думаю, что сообщение об ошибке является общей ошибкой sql при сбое petaPoco.

Сначала я использовал хранимую процедуру с параметрамии символ @ вызывал проблему, как только она была исправлена ​​с помощью @@, я начал получать эту ошибку, поэтому я сделал хранимую процедуру с помощью простого оператора select.Процедура полностью выполняется в Management Studio.

Использование PetaPoco с операторами выбора прекрасно, а данные полностью сопоставляются как с динамической, так и с объектной моделью.Я создал мусорную строку SQL, и она возвратила ту же ошибку, из которой я получаю общее представление об ошибке.

Это выбор, который я использую, который отлично работает

var dynTest =
                db.Query<dynamic>(
                   "SELECT TOP 10 * FROM [BI].[dbo].[Managers] ORDER  BY [ConsecutiveDays] desc");

Ответы [ 2 ]

2 голосов
/ 30 января 2012

Попытка добавить предложение select перед ним.
Если вы поставите «;»в начале вашего запроса он не будет пытаться добавить его.

1 голос
/ 16 февраля 2012

PetaPoco предполагает, что вы хотите выполнить SELECT, и выведет один, если вы его не включите. Чтобы избежать автоматического выбора, вы должны использовать:

db.EnableAutoSelect = false;

До вашего запроса.

...