Solved

Binding winform listbox to oracle ref cursor

Posted on 2009-05-04
5
674 Views
Last Modified: 2013-12-18
I'm trying to bind a oracle stored procedure to a listbox using .net c# winform. Can someone tell me what I'm doing wrong?

My oracle SP is defined as:
    PROCEDURE client_find
            ( p_client_name IN client.name%TYPE
            , p_last_trade_date IN client.last_trade_date%TYPE
            , p_is_active IN client.is_active%TYPE
            , io_cursor IN OUT t_cursor)

OracleConnection Oraclecon = new OracleConnection("Password=;" + "User ID=;Data Source=;");
            Oraclecon.Open();
 
            OracleCommand myCMD = new OracleCommand();
            myCMD.Connection = Oraclecon;
            myCMD.CommandText = "client_select.client_find";
            myCMD.CommandType = CommandType.StoredProcedure;
            myCMD.Parameters.Add("p_client_name", OracleType.NVarChar).Value = null;
            myCMD.Parameters.Add("p_last_trade_date", OracleType.DateTime).Value = DateTime.Now.ToString("dd/MM/yyyy");
            myCMD.Parameters.Add("p_is_active", OracleType.Int16).Value = -1;
            myCMD.Parameters.Add(new OracleParameter("io_cursor", OracleType.Cursor)).Direction = ParameterDirection.Output;
        
            DataSet ds = new DataSet();
            OracleDataAdapter adapter = new OracleDataAdapter(myCMD);
            adapter.Fill(ds);
            
            this.lstActiveClients.DataSource = ds;
            this.lstActiveClients.DisplayMember = "name";
            this.lstActiveClients.ValueMember = "client_key";

Open in new window

0
Comment
Question by:michael1174
  • 3
  • 2
5 Comments
 
LVL 8

Expert Comment

by:RyanAndres
ID: 24297964
Please post any errors you received.
0
 
LVL 2

Author Comment

by:michael1174
ID: 24298060
I'm getting a wrong number or types of arguments to client_find when it executes the adapter.Fill(ds);
0
 
LVL 2

Author Comment

by:michael1174
ID: 24298087
Ok, i had the name set to null... i fixed that, but now my listbox doesn't show any data from the SP.  It just shows one line that says System.Data.DataViewManagerListItemTypeDescriptor
0
 
LVL 8

Accepted Solution

by:
RyanAndres earned 500 total points
ID: 24298129
You need to assign the datasource a datatable or object collection.
this.lstActiveClients.DataSource = ds.Table[0];
0
 
LVL 2

Author Closing Comment

by:michael1174
ID: 31577673
Thanks!
0

Featured Post

DevOps Toolchain Recommendations

Read this Gartner Research Note and discover how your IT organization can automate and optimize DevOps processes using a toolchain architecture.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

This post first appeared at Oracleinaction  (http://oracleinaction.com/undo-and-redo-in-oracle/)by Anju Garg (Myself). I  will demonstrate that undo for DML’s is stored both in undo tablespace and online redo logs. Then, we will analyze the reaso…
From implementing a password expiration date, to datatype conversions and file export options, these are some useful settings I've found in Jasper Server.
Via a live example, show how to take different types of Oracle backups using RMAN.
This video shows how to recover a database from a user managed backup

785 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question