Как выбрать строки из базы данных на основе имени пользователя? - PullRequest
0 голосов
/ 20 мая 2011

Как выбрать только те строки, которые относятся к пользователю, вошедшему в систему в данный момент при использовании диалогового окна «Настройка источника данных»?Справа у каждой строки есть имя пользователя, которое было создано для них при регистрации.Я использую встроенную систему членства ASP.NET.Можно ли в любом случае выполнить предложение Where, которое выбирает имя пользователя для текущего пользователя?

Ответы [ 3 ]

3 голосов
/ 20 мая 2011
HttpContext.Current.User.Identity.Name

дает вам имя пользователя Windows, связанное с текущим запросом.

Чтобы включить его в предложение where, вам нужно добавить параметр в команду select

<asp:SqlDataSource ID="SqlDataSource1" runat="server" SelectCommand="Select * From tbl Where user = @user">
    <SelectParameters>
        <asp:Parameter Name="user" Type="String" />
    </SelectParameters>
</asp:SqlDataSource>

и затем установите значение в коде:

SqlDataSource1.SelectParameters["user"].DefaultValue = HttpContext.Current.User.Identity.Name;

Могут быть и другие способы получить его, но это должен быть один из самых простых.

Статья Microsoft для использования параметров в источнике данных: http://msdn.microsoft.com/en-us/library/z72eefad.aspx

0 голосов
/ 24 мая 2011

Вам просто нужно добавить параметры в источник данных sql для извлечения имени пользователя и пароля из базы данных.

или вы можете создать одну сохраненную процедуру, чтобы выбрать имя пользователя и пароль.а затем передать значения имени пользователя и пароля в коде.

0 голосов
/ 20 мая 2011

Вам необходимо добавить параметр к элементу управления SqlDataSource.

...