【发布时间】:2014-09-28 10:42:44
【问题描述】:
我正在使用 vb.net 和 SQL Server 2008 R2 开发一个 Web 应用程序
在其中一个 aspx 文件中,我有这个:
<asp:SqlDataSource ID="dsParentUnit" runat="server"
ConnectionString="<%$ ConnectionStrings:CN %>"
SelectCommand="SELECT * FROM [t_Unit] WHERE ([UnitTypeID] = (@UnitTypeID) - 1) AND NOT [UnitTypeID] = 1 ORDER BY UnitName ASC">
<SelectParameters>
<asp:ControlParameter ControlID="cboUnitType" Name="UnitTypeID" PropertyName="SelectedValue" Type="Int16" />
</SelectParameters>
</asp:SqlDataSource>
其中数据源dsParentUnit 将根据下拉列表cboUnitType 的选定值进行更改。
数据源sdParentUnit 用于另一个下拉列表项。
现在,我想更改WHERE ([UnitTypeID] = (@UnitTypeID) - 1,使它变成类似这样的伪代码:
If cboUnitType.SelectedValue <= 5 Then
WHERE ([UnitTypeID] = (@UnitTypeID) - 1
Else
WHERE ([UnitTypeID] = (@UnitTypeID) - 3
我可以这样做吗?
如果可能的话,我想避免在数据库中构建任何存储函数,因为修改数据库所需的文书工作真的很长......
当然,只有在可能的情况下。
谢谢你:)
【问题讨论】:
标签: sql asp.net vb.net sql-server-2008-r2