使用c#更新查询时出现ORA-01036错误

时间:2015-02-26 14:50:55

标签: c# oracle ora-01036

我在更新号码时遇到错误并尝试取回该号码。我已经用谷歌搜索了这个错误,但所有代码都提出了我所拥有的相同解决方案,但我仍然收到此错误。

Oracle.DataAccess.Client.OracleException ORA-01036: illegal variable
name/number at Oracle.DataAccess.Client.OracleCommand.ExecuteNonQuery()

这是我的C#代码:

//add one to sequence and update it
query = "update unique_sequences " +
    "set last_sequence_number=last_sequence_number + 1 " + 
    "where unique_sequence_table_name='person' " +
    "returning last_sequence_number into :outnumber";
command.CommandText = query;
OracleParameter last_number = new OracleParameter("outnumber", OracleDbType.Varchar2, 13);
last_number.Direction = ParameterDirection.Output;

command.Parameters.Add(last_number);
command.ExecuteNonQuery();

其中last_sequence_number是VARCHAR2(13 BYTE)。

提前谢谢。

1 个答案:

答案 0 :(得分:0)

您需要使用不同的ParameterDirection使用:

last_number.Direction = ParameterDirection.ReturnValue;