SQL WHERE User.Identity.Name使用参数

时间:2013-04-15 16:59:01

标签: asp.net vb.net

我使用DetailsView只显示数据库中符合我所规定的QueryString值的条件的记录,并且等于当前的User.Identity.Name身份验证用户。

我已经走到了这一步但我不知道我做错了什么因为当我传递一个我知道的逻辑值并且在运行时满足查询字符串中的两个条件时,页面似乎仍然是空白的。

我将为您提供相关的代码段,而不是发布完整的DetailsView代码:

SQL选择命令:

SELECT * FROM [Events] WHERE ([EventID] = ?) AND (CreatedBy = @MemberName)

SELECT参数:

<SelectParameters>
        <asp:QueryStringParameter DefaultValue="1" Name="EventID" QueryStringField="ID" 
                Type="Int32" />
        <asp:parameter name="MemberName" type="String" />
        </SelectParameters>

最后使用Code Behind将User.Identity.Name与MemberName参数关联:

Protected Sub SqlDataSource1_Selecting(sender As Object, e As SqlDataSourceSelectingEventArgs)
        e.Command.Parameters(1).Value = Me.User.Identity.Name
End Sub

这里可能出现什么问题?

0 个答案:

没有答案