0
我正在为使用Visual Studio 2010的单一模块之一创建一个Web项目。 我正在使用asp.net成员资格,并且正确设置了所有的sql-server表格(我很确定)。似乎无法在表格中插入guid(userID)!
我有一个我已经创建自己的表单,使用sqlDataSource.insert()插入到数据库中。我最初遇到了一些问题,根本无法将任何数据插入表中,但我已经清除了这些问题。
我现在的问题是,我需要将当前登录的用户的用户ID插入到表格的其中一列中。但每次点击提交按钮时,我都被告知无法在userID列中插入空值。
我可以用这个片段检索用户ID:
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
正如你可以看到它是一个有点乱,我我一直在疯狂尝试不同的变体,因为我需要用其他单元模块来追赶一点。
这是我的.aspx页面的SQLDataSource,控件参数对我插入的其他数据工作正常。也许<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背景。
首先,你的表格结构是什么?接下来使用Profiler查找SQl正在发送的内容。然后,我们可以帮助您了解正在创建的内容出了什么问题。 – HLGEM 2011-02-10 18:10:16
`citationID = int,dateAdded = datetime,notes = ntext,essayTitle = varchar(128),isPrivate = bit,paperID = int,userID = uniqueidentifier`(有没有更好的方法来显示结构,而不是在stackoverflow注释中? – Robin 2011-02-10 19:11:46