ASP.NET SQL搜索引擎错误 [英] ASP.NET SQL Search Engine Error
问题描述
我不断尝试在SQL搜索查询使用 @itemname
时收到此错误。在code应搜索中的值SQL表,并在这里显示出来。谢谢你。
必须声明标量变量@itemname。
块引用>code为
search.aspx
:<身体GT;
< ASP:SqlDataSource的ID =的SearchResult=服务器
的ConnectionString ='<%$的ConnectionStrings:的ConnectionString%GT;'
的SelectCommand =SELECT [ID],[ITEMNAME] FROM [报告] WHERE([ITEMNAME] LIKE'%'+ @itemname +'%')>
< / ASP:SqlDataSource的>
< ASP:ListView控件ID =displayitems=服务器的DataSourceID =SearchResult所的DataKeyNames =ID>
< EmptyDataTemplate>
<跨度>
没有项目为< ASP:标签文本=''=服务器ID =ITEMNAME/>
< / SPAN>
< / EmptyDataTemplate>
<&ItemTemplate中GT;
< ASP:超链接ID =HyperLink1=服务器
NavigateURL ='<%#Sale.aspx saleid =?+的eval(ID)%GT;'>
< ASP:标签文本='<%#的eval(ITEMNAME)%>' =服务器ID =ItemNameLabel/> < BR />
< / ASP:超链接>
< / ItemTemplate中>
< / ASP:的ListView>
< /身体GT;
解决方案该消息意味着参数
ITEMNAME
未声明。尝试添加参数到的SqlDataSource
< ASP:SqlDataSource的... OnSelecting =ds_Selecting>
< SelectParameters>
< ASP:参数名称=ITEMNAMETYPE =的Int32默认值=0/>
< / SelectParameters> ....
< / ASP:SqlDataSource的>然后在code背后将其值设置:
保护无效ds_Selecting(对象发件人,SqlDataSourceSelectingEventArgs E)
{
e.Command.Parameters [0] .value的=值;
}有设置使用
System.Web.UI.WebControls.Parameter
的派生类的价值很多选项,其中一些类并不需要code背后例如的asp:ControlParameter
或ASP:QueryStringParameter
I keep getting this error when trying to use
@itemname
in a SQL search query. The code should search the values in the SQL table and display them here. Thanks.Must declare the scalar variable "@itemname".
Code for
search.aspx
:<body> <asp:SqlDataSource ID="searchresults" runat="server" ConnectionString='<%$ ConnectionStrings:ConnectionString %>' SelectCommand="SELECT [ID], [itemname] FROM [reports] WHERE ([itemname] LIKE '%' + @itemname + '%')"> </asp:SqlDataSource> <asp:ListView ID="displayitems" runat="server" DataSourceID="searchresults" DataKeyNames="ID"> <EmptyDataTemplate> <span> No items for <asp:Label Text='' runat="server" ID="itemname" /> </span> </EmptyDataTemplate> <ItemTemplate> <asp:HyperLink ID="HyperLink1" runat="server" NavigateURL='<%# "Sale.aspx?saleid=" + Eval("ID") %>'> <asp:Label Text='<%# Eval("itemname") %>' runat="server" ID="ItemNameLabel" /> <br /> </asp:HyperLink> </ItemTemplate> </asp:ListView> </body>
解决方案The message means the parameter
itemname
is not declared. Try adding the parameter into theSqlDataSource
<asp:SqlDataSource ... OnSelecting="ds_Selecting"> <SelectParameters> <asp:Parameter Name="itemname" Type="Int32" DefaultValue="0" /> </SelectParameters> .... </asp:SqlDataSource>
and then in the code behind set its value:
protected void ds_Selecting(object sender, SqlDataSourceSelectingEventArgs e) { e.Command.Parameters[0].Value = "Value"; }
There are many options for setting the value using derived classes of
System.Web.UI.WebControls.Parameter
, some of these classes do not require code behind, for exampleasp:ControlParameter
orasp:QueryStringParameter
.这篇关于ASP.NET SQL搜索引擎错误的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!