Hi All, I am new in SQL and trying to request data from the server based on multiple conditions. For this I am using Stored Procedure but some thing is wrong, it is asking me for the ZipCode input which I have declared. Please help.
Here is my procedure:
ALTER PROCEDURE [dbo].[EnergyStar]
@ZoneES NVARCHAR(50),
@Model NVARCHAR(50),
@ZipCode INT
AS
SET NOCOUNT ON;
SET @ZoneES = UPPER(LTRIM(RTRIM(@ZoneES)))
SET NOCOUNT OFF;
IF @ZoneES = 'North-Central'
BEGIN;
SELECT [GlassPack], [UFACTOR], [SHGC], [MODEL], [ZipCode], [ZoneES]
FROM [SPEC]
WHERE [UFactor] <= 0.30
AND [SHGC] <= 0.40
AND [Model] = @Model
AND [ZipCode] = @ZipCode
ORDER BY [UFactor]
END;
ELSE IF @ZoneES = 'Northern'
BEGIN;
SELECT [GlassPack], [UFACTOR], [SHGC], [MODEL], [ZipCode], [ZoneES]
FROM [SPEC]
WHERE [UFactor] <= 0.27
AND [SHGC] <= 1
AND [Model] = @Model
AND [ZipCode] = @ZipCode
ORDER BY [UFactor]
END;
More options here.....
ELSE
BEGIN;
SELECT NULL AS [GlassPack], NULL AS [UFACTOR], NULL AS [SHGC], NULL AS [MODEL], NULL AS [ZipCode], null AS [ZoneES]
END;
Then my html aspx markup is like this:
<asp:SqlDataSource ID="SPECGlassPack" runat="server"
ConnectionString="<%$ ConnectionStrings:TechCenterConnectionString %>"
SelectCommand="EXEC EnergyStar @Model, @ZIPCode">
<SelectParameters>
<asp:ControlParameter ControlID="Model_dd" Name="Model"
PropertyName="SelectedValue" Type="String" />
<asp:ControlParameter ControlID="ZipCode_tb" Name="ZIPCode" PropertyName="Text"
Type="String" />
</SelectParameters>
</asp:SqlDataSource>
I am trying to return data based on user's input of zip code in a text box and model selection from a dropdown menu. Error says my procedure is asking for @ZipCode. This happens after I enter a zip code in the text box. Thank you all for your help.