I have a query in sql server as below :
Alter procedure testprocedure
As
Begin
select column_date, sum(qty1), sum(qty2), sum(qty3) from table1
End
Go
I used the code below to access the stored procedure in asp.net. Even i copied this code from another source but it worked for me.
<%@ Page Language="C#" AutoEventWireup="true" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">
</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head id="Head1" runat="server">
</head>
<body>
<form id="form1" runat="server">
<div>
<h2 style="color:Navy; font-style:italic;">GridView Example: Execute StoredProcedure</h2>
<asp:SqlDataSource
ID="SqlDataSource1"
runat="server"
ConnectionString="<%$ ConnectionStrings:databasename %>"
SelectCommand="testprocedure"
SelectCommandType="StoredProcedure"
>
</asp:SqlDataSource>
<asp:GridView
ID="GridView1"
runat="server"
DataSourceID="SqlDataSource1"
AutoGenerateColumns="true"
AllowPaging="true"
PageSize="31"
BorderColor="Salmon"
Font-Names="Comic Sans MS"
Width="650"
>
<HeaderStyle BackColor="IndianRed" ForeColor="Snow" Height="45"/>
<RowStyle BackColor="DarkSalmon" ForeColor="Snow" Font-Italic="true" />
<PagerStyle
Height="45"
HorizontalAlign="Right"
BackColor="RosyBrown"
Font-Bold="true"
Font-Size="X-Large"
ForeColor="Snow"
/>
<PagerSettings Mode="Numeric" />
</asp:GridView>
</div>
</form>
</body>
</html>
Now I altered my query like this for accepting date in parameters :
Alter procedure testprocedure @startdate nchar(8), @enddate nchar(8)
As
Begin
select column_date, sum(qty1), sum(qty2), sum(qty3) from table1
where column_date between @startdate and @enddate
End
Go
Please note my date column has data type nchar(8).
Now I would like to alter the previous asp.net code posted above to accept this parameter for dates. I don’t know to edit the code as I’m very new asp.net and still learning.
Error :
Could not find control 'textboxStartDate' in ControlParameter 'startdate'.
Description: An unhandled exception occurred during the execution of the current web request.
Please review the stack trace for more information about the error and where it originated in
the code.
Exception Details: System.InvalidOperationException: Could not find control 'textboxStartDate'
in ControlParameter 'startdate'.
Source Error:
An unhandled exception was generated during the execution of the current web request.
Information regarding the origin and location of the exception can be identified using the
exception stack trace below.
Stack Trace:
[InvalidOperationException: Could not find control 'textboxStartDate' in ControlParameter
'startdate'.]
System.Web.UI.WebControls.ControlParameter.Evaluate(HttpContext context, Control control)
+2106934
System.Web.UI.WebControls.Parameter.UpdateValue(HttpContext context, Control control) +50
System.Web.UI.WebControls.ParameterCollection.UpdateValues(HttpContext context, Control
control) +113
System.Web.UI.WebControls.SqlDataSource.LoadCompleteEventHandler(Object sender, EventArgs e) +46
System.Web.UI.Page.OnLoadComplete(EventArgs e) +9008578
System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean
includeStagesAfterAsyncPoint) +2350
1 Answer