У меня есть база данных доступных товаров, но доступность зависит от компании. Есть около 10 компаний, каждая из которых имеет свой собственный столбец и имеет битовую ценность, если она доступна для них.ASP.NET SqlDataSource имя столбца переменной поиска
Это выполняется на сайте SharePoint в Designer, и у меня нет доступа к коду.
| PhoneMake | PhoneModel | CompanyA | CompanyB |
|--------------|---------------|-------------|-------------|
| Apple | iPhone 5c | True | False |
| Apple | iphone 5s | True | True |
| Android | Note 3 | False | False |
| Android | Note 4 | False | True |
На моей домашней странице у меня есть выпадающий список, чтобы выбрать компанию. Затем я хочу, чтобы выбрать следующий уровень фильтрации (то есть. Производителя)
<asp:DropDownList runat="server" id="Company" AutoPostBack="True" EnableViewState="False">
<asp:ListItem></asp:ListItem>
<asp:ListItem Value="CompanyA">Choose A Company</asp:ListItem>
<asp:ListItem Value="CompanyB">Choose B Company</asp:ListItem>
</asp:DropDownList>
Мне нужно принять выбор этого выпадающего списка и ввести его в качестве колонки для фильтрации в моем SqlDataSource.
<asp:SqlDataSource id="SqlDataSource_PhoneMake" runat="server" __designer:commandsync="true" ProviderName="System.Data.SqlClient" ConnectionString="--yada yada--"
SelectCommand="SELECT DISTINCT [PhoneMake] FROM [table] WHERE (([PhoneMake] IS NOT NULL) AND ([@Company] = 'True'))">
<SelectParameters>
<asp:controlparameter ControlID="Company" PropertyName="SelectedValue" Name="Company" Type="String" />
</SelectParameters>
</asp:SqlDataSource>
В чем проблема, с которой вы столкнулись, с вашей попыткой? –
Не работает. Когда вы делаете выбор, возникает ошибка. – user3320324
Причина в том, что вы не можете использовать параметр, чтобы определить столбец, используемый в запросе. Параметры могут использоваться только для определения значений столбца в предикатах предложения where. –