DataList не отображает данные

Итак, у меня есть DataSource, а также DataList:

 <asp:SqlDataSource ID="SearchDataSource" runat="server" 
        ConnectionString="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=|DataDirectory|\4WheelsDB.mdb;Persist Security Info=True" 
        ProviderName="System.Data.OleDb">
        </asp:SqlDataSource>
  <asp:DataList ID="DataList1" runat="server" DataSourceID="SearchDataSource"></asp:DataList>

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

query = "SELECT * FROM Cars WHERE "

if(make != 1)
{
   query = query + "make_id = @make";
   SearchDataSource.SelectParameters.Add("make", make.ToString());
}

SearchDataSource.SelectCommand = query;
btn_search.Text = DataList1.Items.Count.ToString();

Однако, когда в списке данных должны отображаться некоторые строки, btn_search.Text отображает 0, а строки не отображаются в списке данных, кто-нибудь знает, что я делаю неправильно?

1 ответ

Решение

Вы должны добавить предложение where в вашем запросе.

C#

query = "SELECT * FROM Cars"

if(make != 1)
{
   query = query + " where make_id = @make"; // add here
   SearchDataSource.SelectParameters.Add("make", make.ToString());
}

SearchDataSource.SelectCommand = query;
btn_search.Text = DataList1.Items.Count.ToString();

ASPX

<asp:DataList ID="DataList1" runat="server" DataSourceID="SearchDataSource">
    <ItemTemplate>
        <asp:Label ID="lblmake_id" runat="server" Text='<%# Eval("make_id")%>' />
    </ItemTemplate>
</asp:DataList>
Другие вопросы по тегам