string connstl = "Data Source=TTT;User Id=123;Password=123";
OracleConnection Con = new OracleConnection(connstl);
Con.Open();
OracleCommand Cmd = new OracleCommand("DGA1180NC.P_SREFER", Con);
Cmd.CommandType = CommandType.StoredProcedure;
OracleParameter p1 = new OracleParameter(txt_prc_line.Text, OracleDbType.Varchar2);
p1.Direction = ParameterDirection.Input;
OracleParameter p2 = new OracleParameter(datefr, OracleDbType.Varchar2);
p2.Direction = ParameterDirection.Input;
OracleParameter p3 = new OracleParameter(dateto, OracleDbType.Varchar2);
p3.Direction = ParameterDirection.Input;
OracleParameter p4 = new OracleParameter("P_CUR", OracleDbType.RefCursor);
p4.Direction = ParameterDirection.Output;
Cmd.Parameters.Add(p1);
Cmd.Parameters.Add(p2);
Cmd.Parameters.Add(p3);
Cmd.Parameters.Add(p4); DataSet ds = new DataSet();
OracleDataAdapter da = new OracleDataAdapter(Cmd);
da.Fill(ds); DataTable dt = ds.Tables["P_CUR"];
Con.Close();
OracleConnection Con = new OracleConnection(connstl);
Con.Open();
OracleCommand Cmd = new OracleCommand("DGA1180NC.P_SREFER", Con);
Cmd.CommandType = CommandType.StoredProcedure;
OracleParameter p1 = new OracleParameter(txt_prc_line.Text, OracleDbType.Varchar2);
p1.Direction = ParameterDirection.Input;
OracleParameter p2 = new OracleParameter(datefr, OracleDbType.Varchar2);
p2.Direction = ParameterDirection.Input;
OracleParameter p3 = new OracleParameter(dateto, OracleDbType.Varchar2);
p3.Direction = ParameterDirection.Input;
OracleParameter p4 = new OracleParameter("P_CUR", OracleDbType.RefCursor);
p4.Direction = ParameterDirection.Output;
Cmd.Parameters.Add(p1);
Cmd.Parameters.Add(p2);
Cmd.Parameters.Add(p3);
Cmd.Parameters.Add(p4); DataSet ds = new DataSet();
OracleDataAdapter da = new OracleDataAdapter(Cmd);
da.Fill(ds); DataTable dt = ds.Tables["P_CUR"];
Con.Close();
OracleDataAdapter da = new OracleDataAdapter(Cmd);有返回值么?你的存储过程对么?