C# 使用列默认值更新表列
在这里,MachineGroups表有一列“tval”,该列首先插入了用户值,然后在更新时,它应该在创建时放入SQl值设置的默认值 比如说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
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";