在SQL查询中使用代码隐藏中的变量,asp.net C#

在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

我试图在sqlDataSource WHERE语句中使用代码隐藏页中的变量。我正在使用Membership.GetUser().ProviderUserKey获取登录用户的用户ID,我只想显示将此用户ID作为外键的记录。我如何为它编写SQL

非常感谢,卡尔

以下是我到目前为止的情况:

SQL查询:

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