在C#中使用FORMULA的UPDATE语句

时间:2014-10-15 07:44:33

标签: c# sql

我的代码在这里显示了如何更新sql表中的某个字段。它工作得很好,但我想添加一个公式,它读取表格中的每一行,然后同时更新字段。

我这里有一个名为“TimeTable”的表。 从这张表中,我有3个名为“hours”,“rate”和“regularRate”的数据字段。 获取regularRate的公式为:regularRate = hours * rate

问题是我不知道如何让数据字段“小时”和“率”来制定它然后更新regulaRrate。请帮忙。我只是一个初学者。

myCon.Open();
SqlCommand com = new SqlCommand();
com.Connection = myCon;
com.CommandText = "UPDATE TimeTable SET regularRate=@regularRate";

double regRate = convert.toDouble(@hours) * convert.toDouble(@rate);
com.Parameters.Add("@regularRate", SqlDbType.Float).Value = regRate;

com.ExecuteNonQuery();
myCon.Close();

感谢您的帮助,谢谢。

2 个答案:

答案 0 :(得分:3)

您不需要这里的变量或参数。你只需要

UPDATE TimeTable
SET    regularRate = hours * rate;

虽然你为什么要存放这个?如果可以计算出这个公式 - 你可以使用(非持久的)计算列,如果是SQL Server。

或者在其他DBMS中使用带有此计算的视图

答案 1 :(得分:0)

 com.CommandText = "UPDATE TimeTable SET regularRate = convert(Double,hours) * convert(Double,rate)"