我在 C#/Oracle 中的输出参数有问题。我已经隔离了我需要开始工作的代码。
这是一个更大的 SQL 语句的一部分,所以如果它没有意义,不要太担心。简而言之,我需要复制一行,给它一个新 ID 并返回该新 ID。我尝试使用不起作用的“返回”。我看不出为什么下面的代码不应该工作,但我收到“ORA-01036:非法变量名/编号”错误。谁能看到我做错了什么?
using (OracleConnection conn = new OracleConnection(connString))
{
// Open connection and create command.
conn.Open();
using (OracleCommand cmd = new OracleCommand())
{
cmd.Connection = conn;
cmd.CommandType = CommandType.Text;
cmd.Parameters.Add("outValue", OracleType.Int32).Direction = ParameterDirection.Output;
cmd.CommandText = "SELECT seq.nextval INTO :outValue FROM dual";
try
{
cmd.ExecuteNonQuery();
}
catch (Exception e)
{
// This is just to see the exception when it fails.
}
}
}