C# 使用列默认值更新表列

C# 使用列默认值更新表列,c#,asp.net,sql,C#,Asp.net,Sql,在这里,MachineGroups表有一列“tval”,该列首先插入了用户值,然后在更新时,它应该在创建时放入SQl值设置的默认值 比如说 System.Data.SqlClient.SqlConnection dataConnection = new SqlConnection(); dataConnection.ConnectionString = ConfigurationManager.ConnectionStrings["DBConnectionString"].ConnectionS

在这里,MachineGroups表有一列“tval”,该列首先插入了用户值,然后在更新时,它应该在创建时放入SQl值设置的默认值

比如说

System.Data.SqlClient.SqlConnection dataConnection = new SqlConnection();
dataConnection.ConnectionString = ConfigurationManager.ConnectionStrings["DBConnectionString"].ConnectionString;

System.Data.SqlClient.SqlCommand dataCommand = new SqlCommand();
dataCommand.Connection = dataConnection;

long MachineGroupID = Convert.ToInt64(Request.QueryString["node"]);
dataCommand.CommandText = "UPDATE [MachineGroups] SET [MachineGroupName]=@MachineGroupName,[MachineGroupDesc]=@MachineGroupDesc WHERE [MachineGroupID]= @MachineGroupID";

//add our parameters to our command object  
dataCommand.Parameters.AddWithValue("@MachineGroupName", MachineGroupName);
dataCommand.Parameters.AddWithValue("@MachineGroupDesc", MachineGroupDesc);

dataCommand.Parameters.AddWithValue("@MachineGroupID", MachineGroupID);

dataConnection.Open();
dataCommand.ExecuteNonQuery();
dataConnection.Close();
这就是列的创建方式,现在我想将值2147483647用于更新

此外,我无法将该值固定为“2147483647”,因为该值可能会更改

有什么建议吗


谢谢

您是否尝试使用
默认
关键字?例如:

[tval] [int] NOT NULL DEFAULT ((2147483647))

SQL标准支持这一点,for
UPDATE
表示Microsoft SQL Server支持使用
DEFAULT
关键字。

使用ALTER TABLE和ON UPDATE SET DEFAULT


如果您的SQL server是MS SQL,则您可以尝试:

UPDATE [MachineGroups] SET [tval] = DEFAULT 
WHERE [MachineGroupID] = @MachineGroupID

其他SQL Server可能也有类似的语法。

如果您希望在更新行时始终使用[tval]的默认值,只需在update语句中包含该值:

UPDATE [MachineGroups] 
SET [MachineGroupName]=@MachineGroupName
,[MachineGroupDesc]=@MachineGroupDesc 
,[tval]=DEFAULT
WHERE [MachineGroupID]= @MachineGroupID
无论何时调用更新,都将始终使用定义的默认值

dataCommand.CommandText = "UPDATE [MachineGroups] SET [MachineGroupName]=@MachineGroupName,[MachineGroupDesc]=@MachineGroupDesc, [tval] = default** WHERE [MachineGroupID]= @MachineGroupID";