2013-03-01 2 views
2

Я пытаюсь написать запрос, чтобы показать все записи, принадлежащие текущему зарегистрированному пользователю, но у меня возникают проблемы с вставкой переменной «userid» в строку?Webmatrix/Razor SQL-запрос - переменная Websecurity

@{ 
Layout = "~/_template1.cshtml"; 
var db = Database.Open("StayInFlorida"); 


var userid = WebSecurity.CurrentUserId; 
var premierproperty = "SELECT PropertyName, PropertyID FROM PropertyInfo WHERE OwnerID='userid'"; 
} 

<h1>Properties - Page coming soon</h1> 

@userid 

@foreach (var row in db.Query(premierproperty)){ 
@row.propertyname 
} 

Любые идеи?

ответ

3

Попробуйте так:

@{ 
    Layout = "~/_template1.cshtml"; 
    var db = Database.Open("StayInFlorida"); 
    var userid = WebSecurity.CurrentUserId; 
    var premierproperty = "SELECT PropertyName, PropertyID FROM PropertyInfo WHERE OwnerID = @0"; 
} 

<h1>Properties - Page coming soon</h1> 

@userid 

@foreach (var row in db.Query(premierproperty, userid)) 
{ 
    @row.propertyname 
} 
+0

работает абсолютное удовольствие, спасибо так много. – Gavin5511

+0

просто для подтверждения, если бы я хотел запустить другой запрос на странице, я мог бы сделать то же самое с использованием значения @ 1? не имеет значения, в каком порядке они находятся? – Gavin5511

+0

Вы можете использовать столько параметров, сколько хотите в одном запросе. Они должны быть пронумерованы @ 0, @ 1, @ 2, ... и значения, переданные в том же порядке, в метод 'Query'. –

Смежные вопросы