在SQL查询中使用代码隐藏中的变量,asp.net C#
我试图在sqlDataSource WHERE语句中使用代码隐藏页中的变量。我正在使用Membership.GetUser().ProviderUserKey获取登录用户的用户ID,我只想显示将此用户ID作为外键的记录。我如何为它编写SQL 非常感谢,卡尔 以下是我到目前为止的情况: SQL查询:在SQL查询中使用代码隐藏中的变量,asp.net C#,c#,asp.net,sql,C#,Asp.net,Sql,我试图在sqlDataSource WHERE语句中使用代码隐藏页中的变量。我正在使用Membership.GetUser().ProviderUserKey获取登录用户的用户ID,我只想显示将此用户ID作为外键的记录。我如何为它编写SQL 非常感谢,卡尔 以下是我到目前为止的情况: SQL查询: SelectCommand="SELECT [UserID], [CarID], [Make], [Model], [Year] FROM [Vehicle]" 代码隐藏 String user2
SelectCommand="SELECT [UserID], [CarID], [Make], [Model], [Year] FROM [Vehicle]"
代码隐藏
String user2 = ((Guid)Membership.GetUser().ProviderUserKey).ToString();
我想将WHERE UserID=user2添加到SQL查询中。在ASP.NET中,有许多与数据库交互的方法。您尚未指明如何执行SQL,但这是一种可能的方法: 在.ASPX文件中:
<asp:SqlDataSource ID="UserSource" runat="server" ConnectionString="<%$ ConnectionStrings:SQLConn %>"
SelectCommandType="StoredProcedure" SelectCommand="dbo.NPGetUserInfo">
<SelectParameters>
<asp:Parameter Name="UserID" DefaultValue="0" />
</SelectParameters>
</asp:SqlDataSource>
祝你好运 我知道了,谢谢 我创建了一个会话变量,在其中存储((Guid)Membership.GetUser().ProviderUserKey),然后使用配置数据源向导中的WHERE按钮将其与用户ID进行比较
谢谢你的回复 向我们展示到目前为止您拥有的代码。这是您遇到问题的SQL还是如何在代码中构造它?我正在gridview中执行SQL(我想这就是您要问的),我不确定用什么替换C#中的“项”?
Protected Sub UserSource_Selecting(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.SqlDataSourceSelectingEventArgs) Handles UserSource.Selecting
e.Command.Parameters.Item("@UserID").Value = Membership.GetUser().ProviderUserKey
End Sub