我有两个关系表:Profiles
表包含3种用户角色(Manager,Developer,Common User)和Users
表,其中包含有关用户及其角色ID的信息( Access 2010
数据库中的Profile_ID字段。
我在ASP.NET
中创建了一个Webform,它应该只是注册用户,询问他们的名字,在下拉列表中选择他们的角色并将其全部插入Access数据库。如下面的代码所示:
Dim cs As String = ConfigurationManager.ConnectionStrings("Access 2010").ConnectionString
Dim cn As New OleDbConnection(cs)
Dim cmd As New OleDbCommand
With cmd
.CommandText = "INSERT INTO Users (nome, Profile_ID) VALUES ('" & Me.txtNome.Text & "', " & Me.ddRoles.SelectedIndex & ")"
.Connection = cn
.Connection.Open()
.ExecuteNonQuery()
.Connection.Close()
.Dispose()
End With
cn.Dispose()
碰巧我无法在数据库中插入,因为它们之间存在关系,它给我一个错误。实际上,我只需要在Users
表中插入数据,因为角色是固定的。我该怎么办?
我得到的错误是You can not add or change records, it is necessary that they have a related record in table 'Profiles'.
答案 0 :(得分:1)
更改命令文本以获取下拉菜单的 SelectedValue ,而不是选定的索引。
.CommandText = "INSERT INTO Users (nome, Profile_ID) VALUES ('" & Me.txtNome.Text & "', " & Me.ddRoles.SelectedValue & ")"
如果这不起作用,您需要确保下拉列表正确绑定到角色名称/ ID。
答案 1 :(得分:0)
插入tablename(papercode,paper type,semster,dato)值('& textbox1.text&“','”& dropdownlist1.text&“')