2017-08-08 2 views
0

この時点でSQL Server接続を使用します。ここではASP.NETでは、なぜ私のSQLについて「?」のまわりに文法エラーがあったのですか?私が最初にリストビューコントロールを使用し

<asp:ListView ID="ListView1" runat="server" DataSourceID="SqlDataSource1" 
    ItemPlaceholderID="itemholder"> 
    <LayoutTemplate> 
     <asp:PlaceHolder ID="itemholder" runat="server"></asp:PlaceHolder> 
    </LayoutTemplate> 
    <ItemTemplate> 
     <a href='newsdetail.aspx?nid=<%#Eval("news_id") %>'>      
     </a> 
    </ItemTemplate> 
</asp:ListView> 

はそれがSqlDataSourceコントロールのですが、私はこのページを実行すると、それは常に

ことを私に伝えます'?'の前後に文法エラーがありました。私のSQLについて

enter image description here

+0

'? 'の代わりに' @ ncid'を試してください。 – juharr

答えて

1

あなたSqlDataSource制御がクエリと同じ名前のパラメータを使用するようにクエリを変更してみてください、疑問符をパラメータ(複数可)の代わりに、匿名のパラメータ(複数可)の名前が必要です文字列パラメータ名(すなわち@news_ncid):

<asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="<%$ ConnectionStrings:wangkunConnectionString %>" 
    SelectCommand="select t_imgs.*, t_news.* from (t_imgs inner join t_news on t_imgs.img_id = t_news.news_imgtitle) where [email protected]_ncid"> 
    <SelectParameters> 
     <asp:QueryStringParameter Name="news_ncid" QueryStringField="ncid" Type="Int32" DefaultValue="1" /> 
    </SelectParameters> 
</asp:SqlDataSource> 

参考:

Question Mark as Query Parameter?

関連する問題