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

时间:2011-10-12 21:15:37

标签: asp.net vb.net visual-studio ms-access

我有两个关系表: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'.

2 个答案:

答案 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&“')