Solved

Stored procedure using C# and sqlDataReader

Posted on 2004-04-04
1
1,966 Views
Last Modified: 2007-12-19
Hi

I posted this question in the Dreamweaver section, but unfortunatley received no reply.

I'm trying to set up paging through a repeater region.
I can do it using a sql statement, but the books I have briefly touch on stored procedures.

As this is custom code, Dreamweaver does not create the code for you and as a result i'm stuck.

I have supplied the code below for the repeater region and paging. Could anyone help and create the sqlDataReader so that I can complete this page. Database is SQL2000

<script runat="server">
string FirstWord, SecondWord, ThirdWord, FourthWord, FifthWord, SixthWord, SeventhWord, QueryPhrase;
PagedDataSource Pager = new PagedDataSource();
void Page_Load(Object Src, EventArgs E)
{
      
            Pager.AllowPaging = true;            
            Pager.PageSize = 10;
            Pager.CurrentPageIndex = 0;
            
            if(!Page.IsPostBack)
            {
                  DoDataBinding();
            }
      }
      
      void ChangePage(object sender, System.EventArgs e)
      {
            LinkButton Btn = (LinkButton)sender;
            Pager.CurrentPageIndex = Convert.ToInt32(Btn.CommandArgument);
            DoDataBinding();
      }
      void DoDataBinding()
      {

       //Need to change this section to stored procedure

            System.Data.OleDb.OleDbConnection ObjConn;
            System.Data.OleDb.OleDbDataAdapter ObjDa;
            System.Data.DataTable DisplayResults = new System.Data.DataTable();
            
            ObjConn = new System.Data.OleDb.OleDbConnection("*****");
            ObjConn.Open();
                                    
            ObjDa = new System.Data.OleDb.OleDbDataAdapter("*****, ObjConn);
            ObjDa.Fill(DisplayResults);
      //End stored procedure section
            
      if(Pager.CurrentPageIndex < 0)
            {
                  Pager.CurrentPageIndex = 0;
            }
            
            Pager.DataSource = DisplayResults.DefaultView;      
            ViewResults.DataSource = Pager;
            Page.DataBind();
            
            lnkFirst.Enabled = Pager.CurrentPageIndex > 0;
            lnkBack.Enabled = Pager.CurrentPageIndex > 0;            
            lnkNext.Enabled = Pager.CurrentPageIndex < (Pager.PageCount - 1);
            lnkLast.Enabled = Pager.CurrentPageIndex < (Pager.PageCount - 1);            
            
      }
</script>
</head>
<body>
<form name="QueryResults" id="ViewQueryResults" runat="server">
    <ASP:Repeater  ID="ViewResults"  runat="server">
      <ItemTemplate><br><br><strong>Name:</strong>&nbsp;<%# DataBinder.Eval(Container.DataItem, "name") %><br>
        <strong>Address:</strong>&nbsp;<%# DataBinder.Eval(Container.DataItem, "Address") %>
      </ItemTemplate>
    </ASP:Repeater>
            <asp:LinkButton ID="lnkFirst" Text="First" CommandArgument="0" OnClick="ChangePage" runat="server"></asp:LinkButton>
            <asp:LinkButton Text="Next" CommandArgument="<%# Pager.CurrentPageIndex + 1 %>" OnClick="ChangePage" runat="server" ID="lnkNext"></asp:LinkButton>
            <asp:LinkButton Text="Back" CommandArgument="<%# Pager.CurrentPageIndex - 1 %>" OnClick="ChangePage" runat="server" ID="lnkBack"></asp:LinkButton>
            <asp:LinkButton Text="Last" CommandArgument="<%# Pager.PageCount - 1 %>" OnClick="ChangePage" runat="server" ID="lnkLast"></asp:LinkButton>
             Page <%# Pager.CurrentPageIndex + 1 %> Of <%# Pager.PageCount %>
</form>

The stored procedure takes the following parameters.

<Parameter  Name="@QueryPhrase"  Value='<%# ((Request.QueryString["Query"] != null) && (Request.QueryString["Query"].Length > 0)) ? Request.QueryString["Query"] : "Default Value"    %>'  Type="VarChar"  Size="100"  Direction="Input" />  
    <Parameter  Name="@WordOne"  Value='<%# (FirstWord  != "") ? FirstWord :  "Default Value"    %>'  Type="VarChar"  Size="100"  Direction="Input" />  
    <Parameter  Name="@WordTwo"  Value='<%# (SecondWord  != "") ? SecondWord :  "Default Value"    %>'  Type="VarChar"  Size="100"  Direction="Input" />  
    <Parameter  Name="@Wordthree"  Value='<%# (ThirdWord  != "") ? ThirdWord :  "Default Value"    %>'  Type="VarChar"  Size="100"  Direction="Input" />  
    <Parameter  Name="@Wordfour"  Value='<%# (FourthWord  != "") ? FourthWord :  "Default Value"    %>'  Type="VarChar"  Size="100"  Direction="Input" />  
    <Parameter  Name="@Wordfive"  Value='<%# (FifthWord  != "") ? FifthWord :  "Default Value"    %>'  Type="VarChar"  Size="100"  Direction="Input" />  
    <Parameter  Name="@Wordsix"  Value='<%# (SixthWord  != "") ? SixthWord :  "Default Value"    %>'  Type="VarChar"  Size="100"  Direction="Input" />  

Any help would be appreciated.
George
0
Comment
Question by:Tourist_Search
1 Comment
 
LVL 9

Accepted Solution

by:
glsac earned 500 total points
ID: 10754091
Bec. I am to lazy to retype :) here is code for custom paging and the sproc used in a repeater:

http://www.experts-exchange.com/Web/Web_Languages/ASP/Q_20887487.html

I posted this a while back.

-Joe
0

Featured Post

ScreenConnect 6.0 Free Trial

At ScreenConnect, partner feedback doesn't fall on deaf ears. We collected partner suggestions off of their virtual wish list and transformed them into one game-changing release: ScreenConnect 6.0. Explore all of the extras and enhancements for yourself!

Question has a verified solution.

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

Suggested Solutions

This article describes a simple method to resize a control at runtime.  It includes ready-to-use source code and a complete sample demonstration application.  We'll also talk about C# Extension Methods. Introduction In one of my applications…
The article shows the basic steps of integrating an HTML theme template into an ASP.NET MVC project
In a recent question (https://www.experts-exchange.com/questions/28997919/Pagination-in-Adobe-Acrobat.html) here at Experts Exchange, a member asked how to add page numbers to a PDF file using Adobe Acrobat XI Pro. This short video Micro Tutorial sh…
Finds all prime numbers in a range requested and places them in a public primes() array. I've demostrated a template size of 30 (2 * 3 * 5) but larger templates can be built such 210  (2 * 3 * 5 * 7) or 2310  (2 * 3 * 5 * 7 * 11). The larger templa…

778 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