日期:2014-05-18  浏览次数:20799 次

在百度里都搜不到的问题
在C#种访问Oracle数据库存储过程,出现这个问题:

  "本机框架位于调用堆栈之上,因此无法计算表达式的值"

代码如下: 
public void newPlan() 
  { 
  planForm = new newPlanForm();//需要时生成; 
  note = planForm.newPlanNote(); 
  OracleParameter noetPara=new OracleParameter("note",OracleType.VarChar); 
  OracleParameter planID=new OracleParameter("newplanid",OracleType.Number); 
  planID.Direction=ParameterDirection.Output; 
  noetPara.Value = note; 
  noetPara.Direction = ParameterDirection.Input; 
  OracleCommand tempOraCmd = new OracleCommand("sp_newplan", new OracleConnection(this.planSqlCmd.retConnectString())); 
  tempOraCmd.CommandType = CommandType.StoredProcedure; 
  tempOraCmd.Parameters.Add(noetPara); 
  tempOraCmd.Parameters.Add(planID); 
  tempOraCmd.Connection.Open(); 
  tempOraCmd.ExecuteNonQuery(); 
  tempOraCmd.Connection.Close(); 
  this.planID= (int)(planID.Value); 
  }

------解决方案--------------------
哪一行出的?
------解决方案--------------------
莫名其妙的问题。弄个简单的不带参数的存储过程试一试
------解决方案--------------------
planID.Direction = ParameterDirection.Input;
------解决方案--------------------
在百度里都搜不到的问题?
那到google里搜搜