primærnøgle og . fremmednøgle
Jeg har 2 tabeler hhv. Medlem og Uddannelse. Medlem tabelen har en primærnøgle som autonum og skal være fremmednøgle for uddannelse. Jeg bruger MSDE som database, men når jeg prøve at indtaste noget gennem via et form komme dette besked "conflict occurred in database 'folk', table 'Medlem', column 'MedNr'. The statement has been terminated", Jeg prøvet lidt af hvert kan ikke få til at virke. Jeg kan godt indætte/slette værdier i 2 tabeller hver for sig men ikke når jeg har tilføjet fremmednøglen og kalde opret(). For at belyse problematiken, her er noget af koden til det. Det skal siges at jeg har begrænset programmerings kendskab. Er det nogen som kan sig, hvor kan det ligger fejlen..?Private con As SqlConnection
Private sqlOpret As SqlCommand
Private OpretMedlemNr As New SqlParameter("@MedNr", SqlDbType.BigInt)
Private opretMedlemNavn As New SqlParameter("@MedNavn", SqlDbType.VarChar, 50)
Private opretMedlemAdr As New SqlParameter("@MedAdr", SqlDbType.VarChar, 50)
Public Sub New()
_MedNr = 0
_MedNavn = ""
con = New SqlConnection("server=localhost; uid=sa; pwd=admin;
database=folk")
sqlOpret = New SqlCommand("INSERT into Medlem values (@MedNavn, @MedAdr, @MedPostNr)", con)
sqlHent.Parameters.Add(OpretMedlemNr)
sqlOpret.Parameters.Add(opretMedlemNavn)
End Sub
Private _MedNr As integer
Private _MedNavn As String
Public Property MedNr() As Integer
Get
Return _MedNr
End Get
Set(ByVal Value As Integer)
_MedNr = Value
End Set
End Property
Public Property MedNavn() As String
Get
Return _MedNavn
End Get
Set(ByVal Value As String)
_MedNavn = Value
End Set
End Property
Public Sub Opret()
opretMedlemNavn.Value = MedNavn
opretMedlemAdr.Value = MedAdr
con.Open()
sqlOpret.ExecuteNonQuery()
con.Close()
End Sub
End Class
ClassUddannelse
Imports System.Data.SqlClient
Public Class uddannelse
Private con As SqlConnection
Private sqlOpret As SqlCommand
Private opretUddannelseNr As New SqlParameter("@UddanNr", SqlDbType.BigInt)
Private opretMedlemNr As New SqlParameter("@MedNr", SqlDbType.BigInt)
Private opretUddan1Navn As New SqlParameter("@uddan1Navn", SqlDbType.VarChar, 50)
Public Sub New()
_UddanNr = 1
_MedNr = 1
_Uddan1Navn = ""
con = New SqlConnection("server=localhost; uid=sa; pwd=admin;
database=folk")
sqlHent = New SqlCommand("select * from uddannelse where
UddanNr = @UddanNr", con)
sqlOpret = New SqlCommand("INSERT into Uddannelse values (
@MedNr,@Uddan1Navn)", con)
sqlHent.Parameters.Add(opretUddannelseNr)
sqlOpret.Parameters.Add(opretMedlemNr)
sqlOpret.Parameters.Add(opretUddan1Navn)
End Sub
Private _UddanNr As Integer
Private _MedNr As integer
Private _Uddan1Navn As String
Public ReadOnly Property UddanNr() As Integer
Get
Return _UddanNr
End Get
End Property
Public Property MedNr() As Integer
Get
Return _MedNr
End Get
Set(ByVal Value As Integer)
_MedNr = Value
End Set
End Property
Public Property Uddan1Navn() As String
Get
Return _Uddan1Navn
End Get
Set(ByVal Value As String)
_Uddan1Navn = Value
End Set
End Property
Public Sub Opret()
opretMedlemNr.Value = MedNr
opretUddan1Navn.Value = Uddan1Navn
con.Open()
sqlRet.ExecuteNonQuery()
con.Close()
End Sub
End Class