Используя переменную из Кода - позади в SQL-запросе, asp.net C#

Я пытаюсь использовать переменную из кода - позади страницы в sqlDataSource ГДЕ оператор. Я использую Членство. GetUser ().ProviderUserKey для получения UserId зарегистрированного пользователя и я хотел бы только показать запись, которые имеют этот UserId как внешний ключ. Как я могу записать SQL для этого?

Большое спасибо, Carl

Вот то, что я имею до сих пор:

SQL-запрос:

SelectCommand="SELECT [UserID], [CarID], [Make], [Model], [Year] FROM [Vehicle]"

Код - Позади

String user2 = ((Guid)Membership.GetUser().ProviderUserKey).ToString();

И я хочу добавить ГДЕ UserID = user2 к SQL-запросу.

1
задан Carl 26 April 2010 в 15:30
поделиться

2 ответа

Разобрался спасибо.

Я создал переменную сеанса, в которой сохранил ((Guid) Membership.GetUser (). ProviderUserKey), а затем использовал кнопку WHERE в мастере настройки источника данных, чтобы сопоставить ее с идентификатором пользователя.

Большое спасибо за ваши ответы.

0
ответ дан 3 September 2019 в 01:00
поделиться

Есть много способов взаимодействия с базой данных в 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>

В вашем .VB-коде за файлом (концепция такая же в 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

Удачи!

2
ответ дан 3 September 2019 в 01:00
поделиться
Другие вопросы по тегам:

Похожие вопросы: