ORA-00936缺少表达

时间:2014-03-27 17:00:51

标签: c# oracle

我需要在用户投票时更新我的​​表列votecount但我有这个错误,我不知道该怎么做。

 private void Vote(string VoteId)
    {

        OracleCommand cmd = new OracleCommand("UPDATE ADMIN.CANDIDATES SET VOTE_COUNT=(VOTE_COUNT+1) WHERE PRSDENT=@Prsdent");
        con.Open();
        cmd.CommandType = CommandType.Text;
        cmd.Connection = con;
        cmd.Parameters.Add("@Prsdent", VoteId);
        cmd.ExecuteNonQuery();
        con.Close();

1 个答案:

答案 0 :(得分:8)

您需要将参数@Prsdent更改为:Prsdent

请参阅:OracleCommand.Parameters Property

  

在由a调用的SQL语句中使用命名参数时   CommandType.Text的OracleCommand,必须在参数之前   带冒号(:)的名称。

还要考虑在using statement中包含您的命令和连接对象,因为这样可以确保正确处理资源。