Note that there are some explanatory texts on larger screens.

plurals
  1. PO
    primarykey
    data
    text
    <p>I'm posting some code here because this stuff is hard to figure out and research. here's one simple way to do it using the Microsoft Oracle Data Provider (I prefer <a href="http://www.oracle.com/technology/tech/windows/odpnet/index.html" rel="nofollow noreferrer">ODP.NET</a>):</p> <pre><code>&lt;%@ Page Language="C#" AutoEventWireup="true" %&gt; &lt;%@ Import Namespace="System.Data" %&gt; &lt;%@ Import Namespace="System.Data.OracleClient" %&gt; &lt;!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"&gt; &lt;html xmlns="http://www.w3.org/1999/xhtml"&gt; &lt;head runat="server"&gt; &lt;title&gt;GridView w/ Oracle Ref Cursor&lt;/title&gt; &lt;style type="text/css"&gt; body {padding:25px;} .Button1 {margin:35px 0;} &lt;/style&gt; &lt;script runat="server" type="text/C#"&gt; protected void Page_Load(object sender, EventArgs e) { } protected void Button1_Click(object sender, EventArgs e) { var dataSet = new DataSet(); // get connection string from web.config var connStr = ConfigurationManager.ConnectionStrings["ConnStr1"].ConnectionString; // create connection using (var conn = new OracleConnection(connStr)) { // create &amp; define the parameter var refCursorParam = new OracleParameter(); refCursorParam.ParameterName = "RET"; refCursorParam.OracleType = OracleType.Cursor; refCursorParam.Direction = ParameterDirection.Output; // create &amp; define the command var cmd = new OracleCommand(); cmd.CommandText = "GET_ALL_EMPS"; cmd.CommandType = CommandType.StoredProcedure; cmd.Parameters.Add(refCursorParam); cmd.Connection = conn; // use data adapter to fill dataset using (var adapter = new OracleDataAdapter(cmd)) adapter.Fill(dataSet); } // set some gridview properties GridView1.AllowPaging = true; GridView1.PageSize = 5; // bind dataset to grid GridView1.DataSourceID = null; var dv = dataSet.Tables[0].AsDataView(); // save dataview to session so gridview can be re-bound later Session["dataView"] = dv; GridView1.DataSource = dv; GridView1.DataBind(); pCount.InnerText = "Total Row Count: " + dataSet.Tables[0].Rows.Count.ToString(); // dispose of dataset dataSet.Dispose(); } void GridView1_PageIndexChanging(object sender, GridViewPageEventArgs e) { // get dataview from session var dv = (DataView)Session["dataView"]; GridView1.DataSource = dv; GridView1.PageIndex = e.NewPageIndex; GridView1.DataBind(); // re-bind data } &lt;/script&gt; &lt;/head&gt; &lt;body&gt; &lt;form id="form1" runat="server"&gt; &lt;asp:ScriptManager ID="ScriptManager1" runat="server" /&gt; &lt;div&gt; &lt;asp:UpdatePanel id="updatepanel1" runat="server"&gt; &lt;ContentTemplate&gt; &lt;asp:Button ID="Button1" runat="server" Text="Refresh GridView" OnClick="Button1_Click" /&gt; &lt;p id="pCount" runat="server" /&gt; &lt;asp:GridView ID="GridView1" runat="server" OnPageIndexChanging="GridView1_PageIndexChanging" /&gt; &lt;/ContentTemplate&gt; &lt;/asp:UpdatePanel&gt; &lt;/div&gt; &lt;/form&gt; &lt;/body&gt; &lt;/html&gt; </code></pre> <p>try this out and let me know if you have any questions. here's some good references:</p> <ul> <li><a href="http://msdn.microsoft.com/en-us/library/system.data.oracleclient.oracledataadapter.aspx" rel="nofollow noreferrer">http://msdn.microsoft.com/en-us/library/system.data.oracleclient.oracledataadapter.aspx</a></li> <li><a href="http://msdn.microsoft.com/en-us/library/0e39s2ck.aspx" rel="nofollow noreferrer">http://msdn.microsoft.com/en-us/library/0e39s2ck.aspx</a></li> </ul> <p>-gabe</p>
    singulars
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload