我正在尝试使用带有参数的SQL Select驱动的asp:SqlDataSource
。只要我没有任何参数,它就可以工作。我可以通过studio运行参数化查询,它可以工作并返回行。如果我有任何参数,则asp:View
不会呈现。
首先,当我通过Studio执行SQL时,代码返回2行。 其次,我不希望它作为存储过程。部署问题。微笑,放手吧。 :-)
<asp:DropDownList ID="lstUsers" runat="server" DataSourceID="sqlGetCSGUsersOnClaim" DataTextField="username" DataValueField="userID" />
<asp:SqlDataSource ID="sqlGetCSGUsersOnClaim" runat="server" ConnectionString="<%$ ConnectionStrings:SiteSqlServer%>" SelectCommandType="Text" SelectCommand="
SELECT aspnet_Users.UserId as userID, aspnet_users.username as username
FROM claims, aspnet_Users
WHERE claims.claimid = @ClaimID and
(Claims.AdjusterID = aspnet_Users.UserId or Claims.SupervisorID = aspnet_Users.UserId )">
<SelectParameters>
<asp:SessionParameter Name="ClaimID" SessionField="ClaimID" Type="Int32" DbType="Int32" />
</SelectParameters>
</asp:SqlDataSource>
如果我删除了@ClaimID
和SelectParameters
参数,则下拉列表会填充。添加参数后,它才会失败。
我做错了什么?
提前致谢, 杰森
答案 0 :(得分:0)
好吧,如果我删除了SelectParameter的Type和DBType属性,那么代码就可以了。叹息....
我不知道,为什么呢。