【发布时间】:2014-07-29 14:02:11
【问题描述】:
我需要在 SQLDatasource 中设置 3 个参数,将源绑定到 gridview。
如果我删除参数,并直接从设计视图中选择数据源,它会正确显示数据。
我猜在传递参数之后,Oracle 有一些特殊的方式来处理 SQL,但是一旦参数传递,gridview 就什么都没有显示。我怎样才能解决这个问题?
查看aspx代码:
<asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="<%$ ConnectionStrings:ConnectionString %>" ProviderName="<%$ ConnectionStrings:ConnectionString.ProviderName %>" SelectCommand="SELECT d.* FROM DECODATA D where (D.FAMILY like :family) AND (D.SERIES like :series) AND (D.MODEL like :model) ORDER BY D.FAMILY, D.SERIES, D.MODEL">
<SelectParameters>
<asp:Parameter Name="family" />
<asp:Parameter Name="series" />
<asp:Parameter Name="model" />
</SelectParameters>
</asp:SqlDataSource>
The front code is automatically created.
代码隐藏:搜索按钮:即使我这样硬编码参数,仍然无法正常工作 (此参数设置在我知道的 SQL Server 中有效)
SqlDataSource1.SelectParameters["family"].DefaultValue = "CLASSIC LOW";
SqlDataSource1.SelectParameters["series"].DefaultValue = "%";
SqlDataSource1.SelectParameters["model"].DefaultValue = "%";
GridView1.DataSource = SqlDataSource1;
GridView1.DataBind();
【问题讨论】:
-
这太奇怪了。我刚刚删除了gridview控件并添加了一个新控件,它可以工作。代码运行良好。
标签: c# oracle parameters sqldatasource