2013-10-20 29 views
1

我已經使用下面的代碼使用剃刀剃刀設定值方法

@foreach (var top in db.Query("SELECT MAX(ID)+1 as ID FROM mytable")) 
      { 
       if (@top.ID == null) {@top.ID = 1; } 
      } 

如果表是空的,@top得到比最大的ID多一個在表中。 ID返回null。我試圖將其值設置爲1,如果它爲空。但是,它在分配部分顯示錯誤。你如何將@ top.ID的值賦給別的東西?或者有沒有辦法用戶sql查詢設置ID爲1,如果表是空的?

回答

1

您可以使用

select isnull(max(ID),1) from YourTable 

不過,如果你想生成一個新的記錄一個新的ID,你會得到更好的建議使用identity場。

+0

我試圖標識字段用alter table它顯示錯誤 –

+0

遺憾沒有完成之前的評論 我試圖用alter table它顯示錯誤 ALTER TABLE tblDDWeatherTimedValues ALTER COLUMN ID INT IDENTITY標識字段(1,1 )主鍵 它顯示我身份的錯誤 然而,我會需要上面的代碼太其他一些建議。而你的代碼工作非常感謝。 –

+0

@NevilleNazerane不客氣。 http://stackoverflow.com/help/someone-answers – podiluska