string queryStr = "prc_set_work_schedule";
OracleConnection cn = new OracleConnection(NSGOracleConStr.NSGOracleConnectionStr);
OracleCommand cmd = null;
cmd = new OracleCommand(queryStr,cn);
cmd.CommandType = CommandType.StoredProcedure; OracleParameter p1 = new OracleParameter("P_GROUP_CONFIG_ID", OracleType.Number, 10);
p1.Direction = ParameterDirection.Input;
p1.Value = this.grdData.CurrentRow.Cells["ROW_ID"].Value;
cmd.Parameters.Add(p1); OracleParameter p2 = new OracleParameter("P_RETURN_CODE", OracleType.VarChar, 20);
p2.Direction = ParameterDirection.Output;
cmd.Parameters.Add(p2); OracleParameter p3 = new OracleParameter("P_RETURN_MSG", OracleType.VarChar, 40);
p3.Direction = ParameterDirection.Output;
cmd.Parameters.Add(p3); try
{
cn.Open();
cmd.ExecuteNonQuery();
}
catch (OracleException ex)
{
MessageBox.Show(ex.Message.ToString());
}
finally
{
cn.Close();
cmd.Dispose();
}
小女子实在看不出,什么地方写错了。但是该存储过程,在程序运行期间只有第一次执行起到作用????
OracleConnection cn = new OracleConnection(NSGOracleConStr.NSGOracleConnectionStr);
OracleCommand cmd = null;
cmd = new OracleCommand(queryStr,cn);
cmd.CommandType = CommandType.StoredProcedure; OracleParameter p1 = new OracleParameter("P_GROUP_CONFIG_ID", OracleType.Number, 10);
p1.Direction = ParameterDirection.Input;
p1.Value = this.grdData.CurrentRow.Cells["ROW_ID"].Value;
cmd.Parameters.Add(p1); OracleParameter p2 = new OracleParameter("P_RETURN_CODE", OracleType.VarChar, 20);
p2.Direction = ParameterDirection.Output;
cmd.Parameters.Add(p2); OracleParameter p3 = new OracleParameter("P_RETURN_MSG", OracleType.VarChar, 40);
p3.Direction = ParameterDirection.Output;
cmd.Parameters.Add(p3); try
{
cn.Open();
cmd.ExecuteNonQuery();
}
catch (OracleException ex)
{
MessageBox.Show(ex.Message.ToString());
}
finally
{
cn.Close();
cmd.Dispose();
}
小女子实在看不出,什么地方写错了。但是该存储过程,在程序运行期间只有第一次执行起到作用????
如果在winForm里面出现这个情况,设个断点好好跟踪一下就清楚了.另外,技术问题与性别无关,不需要告诉别人你是"小女子"...
程序中获取存储过程的输出值,也试了,没有错误异常,返回结果也是正确的,但是结果不是我想要的。如果说是程序中调用存在问题,但是又说不通,因为我第一次进入应用程序时调用存储过程是成功的结果,只是再调就不行了,必须重新运行应用程序???
是点击按钮那段代码只执行第一次,
还是代码每次点击按钮都执行,但是存储过程不执行?在这段代码前messagebox.show一下,看是不是每次都执行,
接受存储过程的返回值,看存储过程是不是每次都执行
cmd.Parameters.Clear();
没有用
,晕死了