c#
  • asp.net
  • sql-server
  • 2016-05-09 14 views 0 likes 
    0

    SQL検索クエリで@itemnameを使用しようとすると、このエラーが発生し続けます。コードは、SQLテーブルの値を検索し、ここに表示する必要があります。ありがとう。 search.aspxSQL検索エラーASP.NET C#

    <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> 
    
    +0

    あなた....彼はあなたのクエリで@itemnameパラメータを指定しましたが、あなたが共有したコードにパラメータが定義されていません。 –

    +0

    selectコマンドにitemnameの変数があります。 itemnameにはどのように入力する必要がありますか? –

    +0

    itemnameはSQLデータベースの行です。この行に基づいて商品の名前を検索できるようにしたいと考えています。パラメタの定義方法や実装方法についてはわかりません。本当に失われた! – Cmc9

    答えて

    0

    ため

    Must declare the scalar variable "@itemname". 
    

    コードあなたは、パラメータの値を設定することができます後ろ@itemname

    <asp:SqlDataSource ID="searchresults" runat="server" 
         ConnectionString='<%$ ConnectionStrings:ConnectionString %>' 
         SelectCommand="SELECT [ID], [itemname] FROM [reports] WHERE ([itemname] LIKE '%' + @itemname + '%')"> 
    
    <SelectParameters> 
        <asp:Parameter Name="itemname" Type="String" /> 
        </SelectParameters> 
    
        </asp:SqlDataSource> 
    

    に、コード内のパラメータを提供する必要が

    searchresults.SelectParameters("itemname").DefaultValue = "some value"; 
    
    関連する問題