Solved

Returning Ref_cursor to dataview

Posted on 2009-05-20
6
581 Views
Last Modified: 2013-11-07
I am trying to get the data grid (MyDataGrid) to populate.  I run the page with no errors.  Just for grins, I sent an invalid Oracle command, and sure enough, I got an oracle error returned - So I know the code is passing through to the Oracle DB.

I can't get the datagrid to populate/draw though.  I've tested my Stored Procedure otherwise (via SQL/Plus and Excel VBA) and it works fine.

Can somebody help me understand why MyDataGrid isn't showing up on my aspx page?

<%@ Page Language="c#" %>

<%@ import Namespace="System.Data" %>

<%@ import Namespace="Oracle.DataAccess.Client" %>

<%@ import Namespace="System.Data.OleDb" %>

<%@ Assembly Name="System.Data.OracleClient, Version=2.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089" %>

<script runat="server">
 

    protected void Page_Load(Object sender, EventArgs e)

    

    {

    

      OracleConnection con = new OracleConnection("data source=myDatabase;user id=MyuserID;password=myPass;");

    

      con.Open();

    

      OracleCommand cmd = new OracleCommand("Pkg_CPU_Reports.Report_CPU_Histogram",con);

    

      OracleParameter oparam = cmd.Parameters.Add("ResultCursor", OracleDbType.RefCursor);

    

      oparam.Direction = ParameterDirection.Output;

    

       cmd.CommandType = CommandType.StoredProcedure;

    

      OracleDataAdapter adapter = new OracleDataAdapter(cmd);

    

      DataSet myset = new DataSet("ResultCursor");

    

      adapter.Fill(myset);

	  

	  DataGrid MyDataGrid = new DataGrid();

    

      MyDataGrid.DataSource=myset;

    

       MyDataGrid.DataBind();	
 

    }

</script>

<html>
 
 
 

<body>
 

<H1>Result Set</H1>
 

<form runat="server">
 

<asp:datagrid id="MyDataGrid" runat="Server"/>
 

</form>
 

</body>
 

</html>

Open in new window

0
Comment
Question by:tscottt
  • 3
  • 3
6 Comments
 
LVL 96

Expert Comment

by:Bob Learned
ID: 24441290
How many DataTable and rows does the DataSet have?
0
 
LVL 1

Author Comment

by:tscottt
ID: 24442762
About 10.
0
 
LVL 96

Expert Comment

by:Bob Learned
ID: 24446378
You didn't define any columns for the DataGrid.  If you are using ASP.NET 2.0, then I would suggest using the GridView, which can auto-generate columns from the data source.
0
How your wiki can always stay up-to-date

Quip doubles as a “living” wiki and a project management tool that evolves with your organization. As you finish projects in Quip, the work remains, easily accessible to all team members, new and old.
- Increase transparency
- Onboard new hires faster
- Access from mobile/offline

 
LVL 1

Author Comment

by:tscottt
ID: 24446981
You're a champ for helping me!  I changed it to a GridView, but it still doesn't show a control (much less populate it with data).

As an experiment I changed : asp:GridView id="MyDataGrid"

to

asp: GridView id="nothing really"

And it behaved the same.  It's as if the MyDataGrid binding in the C## inline script isn't being recognized by the ASP:GridView.

 I also tried explicitly setting DataSourceID="myset" (the variable from the script) and DataSourceID="MyDataGrid", and neither of those worked.  At least they threw errors, though.

I'm probably missing something simple about how to bind my asp control to the control of the same name in the script.
0
 
LVL 96

Expert Comment

by:Bob Learned
ID: 24450411
Set the GridView's AutoGenerateColumns property to True.  DataSourceID is used with an SqlDataSource, ObjectDataSource, XmlDataSource, etc.
0
 
LVL 1

Accepted Solution

by:
tscottt earned 0 total points
ID: 24456557
I found the problem.  I was declaring the datagrid (or, in more recent code, the dataview) in the inline C# script - Line 30 in the code above. That's a no-no, as it goes out of scope.

Thanks for keeping me plugging away. :)
0

Featured Post

Find Ransomware Secrets With All-Source Analysis

Ransomware has become a major concern for organizations; its prevalence has grown due to past successes achieved by threat actors. While each ransomware variant is different, we’ve seen some common tactics and trends used among the authors of the malware.

Join & Write a Comment

Suggested Solutions

Normally the drop down box control found in the .Net framework tools is able to select just one data and value at a time, which is displayed on the text area.   But what if you want to have multiple values to be selected in the drop down box? As …
Many of us here at EE write code. Many of us write exceptional code; just as many of us write exception-prone code. As we all should know, exceptions are a mechanism for handling errors which are typically out of our control. From database errors, t…
This tutorial demonstrates a quick way of adding group price to multiple Magento products.
This video explains how to create simple products associated to Magento configurable product and offers fast way of their generation with Store Manager for Magento tool.

758 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

21 Experts available now in Live!

Get 1:1 Help Now