C# razor设置由.query()方法创建的变量的值
我使用以下代码使用razor获得了比表中最大ID多一个的IDC# razor设置由.query()方法创建的变量的值,c#,sql,sql-server,database,razor,C#,Sql,Sql Server,Database,Razor,我使用以下代码使用razor获得了比表中最大ID多一个的ID @foreach (var top in db.Query("SELECT MAX(ID)+1 as ID FROM mytable")) { if (@top.ID == null) {@top.ID = 1; } } 如果表为空,@top.ID返回null。如果它为空,我试图将其值设置为1。但是,它在赋值部分显示了一个错误。如何将@top.ID的值分
@foreach (var top in db.Query("SELECT MAX(ID)+1 as ID FROM mytable"))
{
if (@top.ID == null) {@top.ID = 1; }
}
如果表为空,@top.ID返回null。如果它为空,我试图将其值设置为1。但是,它在赋值部分显示了一个错误。如何将@top.ID的值分配给其他对象?或者,如果表为空,是否有方法使用sql查询将ID设置为1?您可以使用
select isnull(max(ID),1) from YourTable
但是,如果您试图为新记录生成新ID,最好使用标识字段。您可以使用
select isnull(max(ID),1) from YourTable
但是,如果您试图为新记录生成新ID,建议您最好使用标识
字段。我用alter table尝试了标识字段,它显示了错误。我没有完成前面的注释我用alter table尝试了标识字段,它显示了错误alter table tblDDWeatherTimedValues alter COLUMN ID int identity(1,1)主键,它显示了我的身份错误,但我将需要上述代码太一些其他建议。非常感谢你的代码能正常工作。你知道为什么我的sql查询不能正常工作吗?ALTER TABLE mytable ALTER列ID int IDENTITY(1,1)主KEY@NevilleNazerane请参见我用alter table尝试了标识字段它显示了错误我没有完成前面的注释我用alter table尝试了标识字段它显示了错误alter table tblDDWeatherTimedValues alter COLUMN ID int identity(1,1)主键,它显示了我的身份错误,但我将需要上述代码太一些其他建议。非常感谢你的代码能正常工作。你知道为什么我的sql查询不能正常工作吗?ALTER TABLE mytable ALTER列ID int IDENTITY(1,1)主KEY@NevilleNazerane看见