i try to create DataRelation and get error
here my code:
vb.net Code:
Public Class Form1
Dim ds As DataSet
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
ds = New DataSet
Dim dt As New DataTable("dtCustomer")
Dim fid As New DataColumn("id", System.Type.GetType("System.Int32"))
Dim fkd As New DataColumn("kode", System.Type.GetType("System.String"))
Dim fnm As New DataColumn("Name", System.Type.GetType("System.String"))
Dim fkel As New DataColumn("idkel", System.Type.GetType("System.Int32"))
' field properties
fid.AllowDBNull = False
fid.AutoIncrement = True
fid.AutoIncrementStep = 2
fkd.AllowDBNull = False
fkd.MaxLength = 5
fnm.AllowDBNull = False
fnm.MaxLength = 50
fkel.AllowDBNull = False
dt.Columns.Add(fid)
dt.Columns.Add(fkd)
dt.Columns.Add(fnm)
dt.Columns.Add(fkel)
'create primary
Dim uc As UniqueConstraint = New UniqueConstraint(fid)
dt.Constraints.Add(uc)
uc = New UniqueConstraint(fkd)
dt.Constraints.Add(uc)
Dim dtkey(2) As DataColumn
dtkey(0) = dt.Columns("id")
dtkey(1) = dt.Columns("kode")
dt.PrimaryKey = dtkey
Dim dr As DataRow
For i As Integer = 1 To 20
dr = dt.NewRow
dr.Item("kode") = "A00" & i
dr.Item("Name") = "SAMPLE KE " & i
If i Mod 4 = 0 Then
dr("idkel") = 1
ElseIf i Mod 3 = 0 Then
dr("idkel") = 3
Else
dr("idkel") = 2
End If
dt.Rows.Add(dr)
Next
ds.Tables.Add(dt)
Dim fkid As New DataColumn("id", System.Type.GetType("System.Int32"))
Dim fknm As New DataColumn("nmkel", System.Type.GetType("System.String"))
Dim dt2 As New DataTable("dtkelompok")
fkid.AutoIncrement = True
fkid.AllowDBNull = False
fknm.AllowDBNull = False
fknm.MaxLength = 50
dt2.Columns.Add(fkid)
dt2.Columns.Add(fknm)
Dim unik As UniqueConstraint = New UniqueConstraint(fkid)
Dim pkk(1) As DataColumn
pkk(0) = dt2.Columns("id")
dt2.PrimaryKey = pkk
Dim row As DataRow
For i As Integer = 1 To 3
row = dt2.NewRow
row("nmkel") = "Category " & i
dt2.Rows.Add(row)
Next
ds.Tables.Add(dt2)
'relation
Dim dtRelation As New DataRelation("qcustomer", fkel, fkid, True)
ds.Relations.Add(dtRelation)
End Sub
End Class
i get error at line
Code:
ds.Relations.Add(dtRelation)
error message :
Code:
These columns don't currently have unique values.