Solved

Binding winform listbox to oracle ref cursor

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

PRTG Network Monitor: Intuitive Network Monitoring

Network Monitoring is essential to ensure that computer systems and network devices are running. Use PRTG to monitor LANs, servers, websites, applications and devices, bandwidth, virtual environments, remote systems, IoT, and many more. PRTG is easy to set up & use.

Question has a verified solution.

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

Checking the Alert Log in AWS RDS Oracle can be a pain through their user interface.  I made a script to download the Alert Log, look for errors, and email me the trace files.  In this article I'll describe what I did and share my script.
From implementing a password expiration date, to datatype conversions and file export options, these are some useful settings I've found in Jasper Server.
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 syntax for various backup options while discussing how the different basic backup types work.  It explains how to take full backups, incremental level 0 backups, incremental level 1 backups in both differential and cumulative mode a…

808 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