本文介绍了ORA-00936 缺少表达式的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我需要在用户投票时更新我的​​表列投票计数,但我遇到了这个错误,我不知道该怎么办.

i need to update my table column votecount when a user voted but im having this error and i dont know what to do with it.

 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();

推荐答案

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

You need to change your parameter @Prsdent to :Prsdent

请参阅:OracleCommand.Parameters 属性

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

还要考虑在 使用声明,因为这将确保正确处理资源.

Also consider enclosing your command and connection object in using statement as that will ensure proper disposal of resources.

这篇关于ORA-00936 缺少表达式的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

05-22 12:08