Domanda

Ho una tabella piuttosto standard impostata in un'applicazione corrente utilizzando il file .NETTO XSD DataSet E TableAdapter caratteristiche.Mio contracts La tabella è composta da alcune informazioni standard sul contratto, con una colonna per il primary department.Questa colonna è a chiave esterna al mio Departments tabella, dove conservo il basic department name, id, notes.Tutto questo è configurato e funzionante nel mio server SQL.

Quando utilizzo lo strumento XSD, posso trascinare entrambe le tabelle contemporaneamente e rileva/crea automaticamente la chiave esterna che ho tra queste due tabelle.Funziona benissimo quando sono sulla mia pagina principale e sto visualizzando i dati del contratto.

Tuttavia, quando vado alla mia pagina amministrativa per modificare i dati del dipartimento, in genere faccio qualcosa del genere:

Dim dtDepartment As New DepartmentDataTable()
Dim taDepartment As New DepartmentTableAdapter()

taDepartment.Fill(dtDepartment)

Tuttavia, a questo punto viene lanciata un'eccezione che dice che qui c'è un riferimento a una chiave esterna interrotto, immagino dal momento che non ho il Contract DataTable riempito.

Come posso risolvere questo problema?So che posso semplicemente rimuovere la chiave esterna dall'XSD per far funzionare le cose correttamente, ma avere il controllo di integrità aggiuntivo lì e avere lo schema XSD corrispondente allo schema SQL nel database è carino.

È stato utile?

Soluzione

Puoi provare a disattivare i vincoli di controllo sul DataSet (è nelle sue proprietà) o ad alterare le proprietà di quella relazione e cambiare la chiave in un semplice riferimento, a te la scelta.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top