未将对象的引用设置到对象的实例中

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);