我想存储"状态"单击是时访问,但是当我单击是时,它显示此错误消息。
**
您无法添加或更改记录,因为相关记录是 表格'用户'。>>
中需要**
Private Sub btnContactOwner_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnContactOwner.Click
If MsgBox("Are you sure want to confirm this room?", MsgBoxStyle.YesNo, "Confirmation") = MsgBoxResult.Yes Then
status = "Non-Available"
Else
status = "Available"
End If
con = New OleDbConnection("Provider = Microsoft.ACE.OLEDB.12.0;Data Source=..\room.accdb")
con.Open()
sql = "Insert into room(status)values('" & status & " ')"
objcmd = New OleDbCommand(sql, con)
objcmd.ExecuteNonQuery()
con.Close()
End Sub
答案 0 :(得分:0)
您正试图在Room表格中创建一行,而您只是为状态列指定了一个值。 您的房间表中有一列' StudentID'对表'用户'有外键约束。要在房间表格中创建一行,您还需要为' StudentID'指定一个值。列。
sql = "Insert into room(status,studentID) values('" & status & "'," & studentID & ")"
其中studentID是Userss表中的有效整数
您可能还想查看parameterised queries
和/或string.Format方法:
sql = String.Format("Insert into room(status,studentID) values('{0}',{1})", status, studentID)