Поиск в БД с использованием хранимой процедуры - PullRequest
0 голосов
/ 05 декабря 2018

Хорошо, поэтому я пытаюсь создать веб-сайт с 2 полями поиска для 2 параметров в следующей хранимой процедуре и использовать их для поиска. Я следовал онлайновому учебнику, который нашел: хранимая процедура выглядит следующим образом:

CREATE PROC Original_Content_Search
@typename VARCHAR(20),
@categoryname VARCHAR(20)
AS
IF @typename is NULL
SELECT *
FROM Original_Content OC INNER JOIN Content C ON  OC.id=C.id
WHERE OC.filter_status=1 and OC.review_status=1 and 
C.category_type=@categoryname
ELSE
SELECT OC.*
FROM Original_Content OC INNER JOIN Content C ON  OC.id=C.id
WHERE OC.filter_status=1 and OC.review_status=1 and C.[type]=@typename

Процедура работает так, как я пытался выполнить ее через запрос, и она работала нормально, теперь я пытаюсь использовать следующее на основе учебника, который я использовал, для построения сетки из поиска, но это простообновляя страницу, когда я нажимаю кнопку поиска

<asp:Content ID="BodyContent" ContentPlaceHolderID="MainContent" runat="server">
<div>
Search Original Content:
<br />
Search By Type: <asp:TextBox ID="typeSearch" runat="server"></asp:TextBox>
<br />
Search By Category: <asp:TextBox ID="categorySearch" runat="server"></asp:TextBox>
<br />
<asp:Button ID="btnSearch" runat="server" Text="Search" />
<hr />
<asp:GridView ID="GridView1" HeaderStyle-BackColor="#3AC0F2" HeaderStyle-ForeColor="White"
    runat="server" AutoGenerateColumns="false" DataSourceID="GridDataSource" AllowPaging="true">
    <Columns>
        <asp:BoundField DataField="id" HeaderText="ID" ItemStyle-Width="150" />
        <asp:BoundField DataField="content_manager_id" HeaderText="Content Manager ID" ItemStyle-Width="150" />
        <asp:BoundField DataField="reviewer_id" HeaderText="Reviewer ID" ItemStyle-Width="150" />
        <asp:BoundField DataField="review_status" HeaderText="Review Status" ItemStyle-Width="150" />
        <asp:BoundField DataField="filter_status" HeaderText="Filter Status" ItemStyle-Width="150" />
        <asp:BoundField DataField="rating" HeaderText="Rating" ItemStyle-Width="150" />

    </Columns>
</asp:GridView>
<asp:SqlDataSource ID="GridDataSource" runat="server" ConnectionString="<%$ ConnectionStrings:ConStr %>"
    SelectCommand="Original_Content_Search" SelectCommandType="StoredProcedure">
    <SelectParameters>
        <asp:ControlParameter Name="typename" ControlID="typeSearch" PropertyName="Text" DefaultValue="" ConvertEmptyStringToNull="true" />
        <asp:ControlParameter Name="categoryname" ControlID="categorySearch" PropertyName="Text" DefaultValue="" ConvertEmptyStringToNull="true" />
    </SelectParameters>
</asp:SqlDataSource>
    </div>
</asp:Content>

Это, как я уже сказал, только обновляет страницу, я предполагаю, что мне нужно как-то связать кнопку с поиском?или как мне заставить это работать?большое спасибо

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...