Solved

Stored procedure using C# and sqlDataReader

Posted on 2004-04-04
1
1,971 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
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
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

Free Tool: Port Scanner

Check which ports are open to the outside world. Helps make sure that your firewall rules are working as intended.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

Question has a verified solution.

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

This article introduced a TextBox that supports transparent background.   Introduction TextBox is the most widely used control component in GUI design. Most GUI controls do not support transparent background and more or less do not have the…
Performance in games development is paramount: every microsecond counts to be able to do everything in less than 33ms (aiming at 16ms). C# foreach statement is one of the worst performance killers, and here I explain why.
The Email Laundry PDF encryption service allows companies to send confidential encrypted  emails to anybody. The PDF document can also contain attachments that are embedded in the encrypted PDF. The password is randomly generated by The Email Laundr…

749 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