Solved

Binding winform listbox to oracle ref cursor

Posted on 2009-05-04
5
670 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

IT, Stop Being Called Into Every Meeting

Highfive is so simple that setting up every meeting room takes just minutes and every employee will be able to start or join a call from any room with ease. Never be called into a meeting just to get it started again. This is how video conferencing should work!

Join & Write a Comment

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…
Real-time is more about the business, not the technology. In day-to-day life, to make real-time decisions like buying or investing, business needs the latest information(e.g. Gold Rate/Stock Rate). Unlike traditional days, you need not wait for a fe…
This video shows setup options and the basic steps and syntax for duplicating (cloning) a database from one instance to another. Examples are given for duplicating to the same machine and to different machines
This video shows how to copy an entire tablespace from one database to another database using Transportable Tablespace functionality.

762 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

Need Help in Real-Time?

Connect with top rated Experts

19 Experts available now in Live!

Get 1:1 Help Now