Visualizzazione dei risultati da 1 a 3 su 3
  1. #1

    [VBNET] Datagridview e Datarelation

    Ciao,
    Non capisco perche non mi vengono eliminati i record
    della seconda tabella quando elimino un record della prima
    tabella.
    Naturalmente ho collegato le due tabelle cosi':

    codice:
            With dtSet.Tables("pagamenti_settori")
                .Columns(1).Unique = True
            End With
    
            Dim myRelation As New DataRelation _
               ("myrelation", dtSet.Tables("pagamenti_settori").Columns("id_s"), dtSet.Tables("pagamenti_fornitori").Columns("id_settore"), True)
            dtSet.Relations.Add(myRelation)
    
            Dim parentColumn As DataColumn
            Dim childColumn As DataColumn
            Dim fkeyConstraint As ForeignKeyConstraint
    
            parentColumn = dtSet.Tables("pagamenti_settori").Columns("id_s")
            childColumn = dtSet.Tables("pagamenti_fornitori").Columns("id_settore")
            fkeyConstraint = New ForeignKeyConstraint(parentColumn, childColumn)
    
            fkeyConstraint.DeleteRule = Rule.Cascade
            fkeyConstraint.UpdateRule = Rule.Cascade
            fkeyConstraint.AcceptRejectRule = AcceptRejectRule.Cascade
    
            dtSet.EnforceConstraints = True
    DOVE SBAGLIO?
    NON MI DA NESSUN ERRORE E NON MI ELIMINA I RECORD DELLA SECONDA
    TABELLA.

  2. #2
    credo ti manca l' aggiunta della costrain alla tabella

    codice:
    dtSet.Tables("Pagamenti_Settori").Constraints.Add(fkeyCostrain)

  3. #3
    Comunque come regola generale la sintassi corretta è questa :

    codice:
    Dim custOrderFK As ForeignKeyConstraint = New ForeignKeyConstraint("CustOrderFK", _
      custDS.Tables("CustTable").Columns("CustomerID"), _
      custDS.Tables("OrdersTable").Columns("CustomerID"))
    custOrderFK.DeleteRule = Rule.None  
    ' Cannot delete a customer value that has associated existing orders.
    custDS.Tables("OrdersTable").Constraints.Add(custOrderFK)
    e per le colonne Unique

    codice:
    Dim custTable As DataTable = custDS.Tables("Customers")
    Dim custUnique As UniqueConstraint = _
        New UniqueConstraint(New DataColumn()   {custTable.Columns("CustomerID"), _
        custTable.Columns("CompanyName")})
    custDS.Tables("Customers").Constraints.Add(custUnique)

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.