我有两张桌子。一个名为 *tbl_workers*,另一个名为 *tbl_attendance*。在 *tbl_worker* 中,我记录了工人的工资。在 *tbl_attendance* 中,我记录了他在特定日期的加班情况。现在,我想要的是首先为工人生成每小时工资。将工资除以 31,然后将结果除以 9,因为 9 小时是办公室的正常工作日。通过这样做,我掌握了工人的每小时费率。现在,我想要将 *tbl_attendence* 的每一行(OT 是列的名称)乘以工人的每小时费率,并将其存储在另一个名为 *overtime_rate* 的列中。到目前为止我所做的是:
SqlConnection con = new SqlConnection(@"Data Source=TIMBERTRENDZ-PC\NEWSERVER;Initial Catalog=trendz;user id=sa;Password=Letmein3#;Trusted_connection=False");
con.Open();
SqlCommand cmd = new SqlCommand("Select worker_salary from tbl_workers where worker_id='"+textBox1.Text +"'",con);
int salary = (int)cmd.ExecuteScalar();
salary = salary/31;
salary = salary / 9;
label1.Text = Convert.ToString(salary);
SqlCommand cmd1 = new SqlCommand("Select ot from tbl_attendence where worker_id='"+textBox1.Text + "'",con);
int ot = (int)cmd1.ExecuteScalar();
ot = ot / 60;
salary = salary * ot;
SqlCommand cmd2 = new SqlCommand("update tbl_attendence set overtime_rate='"+salary +"' where worker_id='"+textBox1+ "'",con);
/**int i = cmd2.ExecuteNonQuery();
label2.Text = Convert.ToString(i);
**/
但这会在与工作人员 ID 匹配的所有列中存储相同的数量。