2013-03-01 55 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 2013-03-02 11:14:32

+0

只是爲了確認,如果我想在頁面上運行另一個查詢,我可以使用@ 1值做同樣的事情嗎?他們在什麼順序中有什麼不同? – Gavin5511 2013-03-02 11:15:45

+0

您可以在單個查詢中使用盡可能多的參數。它們應該被編號@ 0,@ 1,@ 2,...並且這些值以相同的順序傳遞給Query方法。 – 2013-03-02 13:09:21