protected void Button1_Click(object sender, EventArgs e)
{
string nianyue = year_mon.Text.Substring(0, 4) + year_mon.Text.Substring(5, 2);
string conn = ConfigurationManager.ConnectionStrings["OraclePro"].ConnectionString;
OracleConnection connection = new OracleConnection(conn);
connection.Open();
OracleCommand cmd = connection.CreateCommand(); //连接存储过程
cmd.CommandType = CommandType.StoredProcedure;
cmd.CommandText = "Get_WELL_INJ_FCHGL";
// cmd.CommandText = "mxl_add2"; nam
cmd.Parameters.Add("yearmonth", System.Data.OracleClient.OracleType.NVarChar).Direction = ParameterDirection.Input;//运行报错
cmd.Parameters["yearmonth"].Value = nianyue;
cmd.Parameters.Add("result", System.Data.OracleClient.OracleType.Cursor).Direction = ParameterDirection.Output; //定义参数;
cmd.ExecuteNonQuery();
connection.Close();
以调试方式(f5)而不是编译执行方式(ctrl+f5)运行
出现你的错误,中断,会停在出错的那一行上
仔细检查这一行里各个变量,有一个是null,然后找到为什么这个变量是null的原因。
修改程序,就能解决问题。
cmd.Parameters.Add("yearmonth", System.Data.OracleClient.OracleType.NVarChar).Direction = ParameterDirection.Input;//运行报错
看看这个有没有获取到ParameterDirection.Input
把以下代码
cmd.Parameters.Add("yearmonth", System.Data.OracleClient.OracleType.NVarChar).Direction = ParameterDirection.Input;//运行报错
尝试改成
var paryearmonth = new OracleParameter("yearmonth", OracleDbType.NVarChar);
paryearmonth.Direction=ParameterDirection.Input;
paryearmonth.Direction = ParameterDirection.Input;//运行报错
cmd.Parameters.Add(paryearmonth);