2013-01-09 32 views
1

我有我想要通过添加额外的5000所有那些谁赚来更新员工的工资数据表不到30万更新值

这是我做过什么,甚至认为没有任何错误实际更新不会发生。

建议也许?

string connectionString = "Data Source=.\\SQLEXPRESS;Initial Catalog=lrmg;Integrated Security=True;"; 

     using (sqlConnect = new SqlConnection(connectionString)) 
     { 
      sqlConnect.Open(); 

      SqlCommand cmd = sqlConnect.CreateCommand(); 

      cmd.CommandText = "UPDATE [Employee] SET [Salary] += 5000 WHERE [Salary] < 30000"; 

      cmd.ExecuteNonQuery(); 

      sqlConnect.Close(); 
     } 


     labMessage.Text = "The update was processed"; 
+1

您的表中薪水是否低于3000?检查0的数量。 – PhoenixReborn

+2

也许只是一个错字,但是你更新了所有工资低于3000的工作:) –

+0

在这里问了很多C#SQL问题之后,为什么仍然没有人使用'using'?我敢打赌你也没有使用参数化查询? ;-) –

回答

4

与尝试< 30.000 value then :-)

cmd.CommandText = "UPDATE [Employee] SET [Salary] = [Salary] + 5000 WHERE [Salary] < 30000"; 
+1

对不起,我看到了错误,谢谢 – Arianule

3

小错字其30000你说,你有3000 ..

cmd.CommandText = "UPDATE [Employee] SET [Salary] += 5000 WHERE [Salary] < 30000"; 

提醒自己,+ =现在是一个有效的经营者为5年前^^

+0

但是为什么OP中的[**'+ ='**](http://msdn.microsoft.com/zh-cn/library/cc627392%28v=sql.100%29.aspx)不起作用?它应该正常工作。 –

+0

除非最近添加+ =不是有效的transact-sql运算符 –

+0

@ jenson-button-event它是从mssql 2008开始的有效 – Matthew