Problem with ref cursor
-
Hello, I am using Oracle 10.2.0.1 and working on a web application using MS VS 2005. Here it is my oracle code :
CREATE OR REPLACE PACKAGE rollsearch AS
TYPE t_cursor IS REF CURSOR;
Procedure rol_cursor(c_rol in varchar2,c_cnm in varchar2,c_fnm in varchar2,
c_mnm in varchar2,d_dob in date,n_year in number,c_exam in varchar2,c_main_supp in varchar2,
io_cursor OUT t_cursor);
END rollsearch;CREATE OR REPLACE PACKAGE BODY rollsearch AS
Procedure rol_cursor(c_rol in varchar2,c_cnm in varchar2,c_fnm in varchar2,
c_mnm in varchar2,d_dob in date,n_year in number,c_exam in varchar2,c_main_supp in varchar2,
io_cursor OUT t_cursor)
IS
v_cursor t_cursor;
v_sql varchar2(1000);
begin
...
...
end rol_cursor;
end rollsearch;At oracle level, no error; it is working fine (in SQL Plus). Here it is my button click code :
Protected Sub Button1\_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1.Click Dim Ds As New DataSet() Dim Oraclecon As New OracleConnection("Data Source=orcl;User ID=exam2;Password=exam2") Oraclecon.Open() Dim myCMD As New OracleCommand() myCMD.Connection = Oraclecon myCMD.CommandText = "rollsearch.rol\_cursor" myCMD.CommandType = CommandType.StoredProcedure myCMD.Parameters.Add(New OracleParameter("c\_rol", OracleType.VarChar, 7)).Direction = ParameterDirection.Input myCMD.Parameters.Add(New OracleParameter("c\_cnm", OracleType.VarChar, 30)).Direction = ParameterDirection.Input myCMD.Parameters.Add(New OracleParameter("c\_fnm", OracleType.VarChar, 30)).Direction = ParameterDirection.Input myCMD.Parameters.Add(New OracleParameter("c\_mnm", OracleType.VarChar, 30)).Direction = ParameterDirection.Input myCMD.Parameters.Add(New OracleParameter("d\_dob", OracleType.DateTime)).Direction = ParameterDirection.Input myCMD.Parameters.Add(New OracleParameter("n\_year", OracleType.Number, 4)).Direction = ParameterDirection.Input myCMD.Parameters.Add(New OracleParameter("c\_exam", OracleType.VarChar, 1)).Direction = ParameterDirection.Input myCMD.Parameters.Add(New OracleParameter("c\_exam\_supp", OracleType.VarChar, 1)).Direction = ParameterDirection.Input myCMD.Parameters.Add(New OracleParameter("io\_cursor", OracleType.Cursor)).Direction = ParameterDirection.Output myCMD.Parameters.Item(0).Value = Trim(TextBox5.Text) 'Roll Number myCMD.Parameters.Ite