Не удается получить текущий идентификатор пользователя из оператора SQL с помощью Razor в WebMatrix - PullRequest
0 голосов
/ 19 февраля 2011

Я изучаю синтаксис бритвы, использую стартовый сайт в WebMatrix и пытаюсь отобразить некоторые данные из таблицы. Я хочу выбрать только данные от вошедшего в систему пользователя, поэтому фактически хочу сказать

...WHERE UserId =@WebSecurity.CurrentUserId";

но это не работает.

Использование метода @ 0 также не работает для меня - я получаю 'Параметр отсутствует. [Порядковый номер параметра = 1] 'ошибка.

Нужно ли устанавливать переменную, а затем использовать способ @ 0 / @ 1 / @whichever? Если так - что не так с этим кодом?

@{
//Is the user logged in?
WebSecurity.RequireAuthenticatedUser();

//Get the user's data

var TheUser = WebSecurity.CurrentUserId;

   var db= Database.Open("StarterSite");
   var sqlQ = "SELECT * FROM Days WHERE UserId =@0";
   var data = db.Query(sqlQ);
   }

Я уверен, что это очень большая проблема для начинающих, но я просто пытаюсь начать. Любая помощь с благодарностью.

1 Ответ

1 голос
/ 19 февраля 2011

Вам необходимо передать значение в запрос
Документация

var data = db.Query(sqlQ, TheUser);
...