如果今天的日期大于费用paid_upto列,我想将fee_status列更新为待定 下面是不起作用的代码:
SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["My conection string"].ConnectionString);
SqlCommand cmd = new SqlCommand();
cmd.CommandText = "update pat_regtrn set fee_status ='Pending' where getdate()>paid_upto";
cmd.Connection = con;
con.Open();
cmd.ExecuteNonQuery();
con.Close();
这样运行没有错误但不更新任何行。删除where语句更新行。
答案 0 :(得分:1)
针对db手动运行sql查询,看看会发生什么。
例如,如果使用Microsoft SQL Server,则使用Microsoft SQL Management Studio来运行查询。
db应该告诉你它更新了多少行。
我想知道paid_upto是否真的包含要比较的日期。使用相同更新查询的选择也可能会有所启发。
select fee_staus, paid_upto from pat_regtrn where getdate()>paid_upto
这将帮助您了解数据库实际将要更新的内容。