如何使用ASP.NET在Access数据库中插入关系数据

如何使用ASP.NET在Access数据库中插入关系数据,asp.net,vb.net,visual-studio,ms-access,Asp.net,Vb.net,Visual Studio,Ms Access,我有两个关系表:Profiles表,其中包含3种用户角色(经理、开发人员、普通用户),以及Users表,其中包含关于Access 2010数据库中的用户及其角色ID(Profile\u ID字段)的信息 我在ASP.NET中创建了一个网络表单,它只需注册用户,询问他们的姓名,在下拉列表中选择他们的角色,并将其全部插入Access数据库。如以下代码所示: Dim cs As String = ConfigurationManager.ConnectionStrings("Access 2010")

我有两个关系表:
Profiles
表,其中包含3种用户角色(经理、开发人员、普通用户),以及
Users
表,其中包含关于
Access 2010
数据库中的用户及其角色ID(Profile\u ID字段)的信息

我在
ASP.NET
中创建了一个网络表单,它只需注册用户,询问他们的姓名,在下拉列表中选择他们的角色,并将其全部插入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
表中插入数据,因为角色是固定的。我怎么做

编辑
我得到的错误是
您无法添加或更改记录,它们必须在表“Profiles”中具有相关记录。

更改命令文本以获取下拉列表的SelectedValue,而不是所选索引

.CommandText = "INSERT INTO Users (nome, Profile_ID) VALUES ('" & Me.txtNome.Text & "', " & Me.ddRoles.SelectedValue & ")"

如果这不起作用,您需要确保下拉列表正确绑定到角色名称/id。

插入tablename(papercode、PaperType、semster、dato)值(“&textbox1.text&“,”&dropdownlist1.text&“)

您不能添加或更改记录,他们必须在表“Profiles”中有一条相关记录。它现在起作用了。。但它只创建了一个配置文件的记录(确切地说是ID号为5的公共用户配置文件)。虽然HTML看起来是正确的:普通用户分配值5,开发者分配值6,管理者分配值7这是我的代码,它填充了dropdownlist并试图插入数据库:你每次加载页面时都绑定下拉列表吗?如果是这样,则每次数据绑定时都会丢失选定的值。