Не могу вставить guid (userID) в таблицу! - PullRequest
0 голосов
/ 10 февраля 2011

Я создаю веб-проект для одного из моих универсальных модулей с использованием Visual Studio 2010. Я использую членство в asp.net и правильно настроил все свои таблицы sql-сервера (я почти уверен).

У меня есть созданная мной форма, которая вставляется в базу данных с помощью sqlDataSource.insert ().Изначально у меня были некоторые проблемы с невозможностью вставить какие-либо данные в таблицу, но я все исправил.

Теперь моя проблема заключается в том, что мне нужно вставить идентификатор пользователя, вошедшего в систему в данный момент, в один изстолбцы таблицы.Но каждый раз, когда я нажимаю кнопку отправки, мне говорят, что я не могу вставить нулевые значения в столбец userID.

Я могу получить userID, используя этот фрагмент:

    Dim userID As String
    Dim memUser As MembershipUser
    memUser = Membership.GetUser()
    userID = memUser.ProviderUserKey.ToString()
    e.Command.Parameters(0).Value = userID

Это кодсзади для страницы:

Public Class WebForm1
Inherits System.Web.UI.Page

'Dim userID As Guid = CType(memUser.ProviderUserKey, Guid)



Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
    'Dim UserID As Guid = CType(Membership.GetUser.ProviderUserKey, Guid)
    'memUser = Membership.GetUser()
    Dim userID As Guid


    Dim memUser As MembershipUser
    memUser = Membership.GetUser()
    userID = memUser.ProviderUserKey

    If IsPostBack() Then
        Session.Add("UserID", userID)
    Else
        userID = Session("UserID")
    End If

    TextBox1.Text = userID.ToString


End Sub
Protected Sub SqlDataSource1_Selecting(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.SqlDataSourceSelectingEventArgs) Handles SqlDataSource1.Selecting
    e.Command.Parameters(0).Value = userID

End Sub
Protected Sub buttonInsertCitation_Click(ByVal sender As Object, ByVal e As EventArgs) Handles buttonInsertCitation.Click


    SqlDataSource1.Insert()
End Sub
End Class

Как видите, это немного беспорядок, я судорожно пробовал разные варианты, так как мне нужно немного наверстать упущенное с другими унифицированными модулями.

Вот мой источник SQLDataSource со страницы .aspx. Параметры управления отлично работают для других данных, которые я вставляю.может быть <asp:parameter name="userID" /> не так?

<InsertParameters>
        <asp:parameter name="userID" />
        <asp:ControlParameter ControlID="textNotes" Name="notes" PropertyName="Text" />
        <asp:ControlParameter ControlID="textEssayTitle" Name="essayTitle" PropertyName="Text" />
        <asp:ControlParameter ControlID="radioIsPrivate" Name="isPrivate" PropertyName="Text" />
        <asp:ControlParameter ControlID="dropPaperID" Name="paperID" PropertyName="Text" />
</InsertParameters>

Я относительно новичок в vb, и я пришел из html & css фона.

1 Ответ

0 голосов
/ 10 февраля 2011

С поставщиками членства ASP.NET вам не нужно беспокоиться о выполнении каких-либо sql.

...