如何使用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并试图插入数据库:你每次加载页面时都绑定下拉列表吗?如果是这样,则每次数据绑定时都会丢失选定的值。