ho fatto delle prove sia con MySql che con Sql Server. Dicevo di aver risolto ma in effetti mi accorgo che il tutto funziona solo su Sql Server, su MySql no. Vi posto il codice:
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void protocollo_corrispondenzaBindingNavigatorSaveItem_ Click(object sender, EventArgs e)
{
this.Validate();
this.protocollo_corrispondenzaBindingSource.EndEdi t();
this.allegatiBindingSource.EndEdit();
this.tableAdapterManager.UpdateAll(this.gestione_e dileDataSet);
}
private void Form1_Load(object sender, EventArgs e)
{
// TODO: questa riga di codice carica i dati nella tabella 'gestione_edileDataSet.allegati'. È possibile spostarla o rimuoverla se necessario.
this.allegatiTableAdapter.Fill(this.gestione_edile DataSet.allegati);
// TODO: questa riga di codice carica i dati nella tabella 'gestione_edileDataSet.protocollo_corrispondenza'. È possibile spostarla o rimuoverla se necessario.
this.protocollo_corrispondenzaTableAdapter.Fill(th is.gestione_edileDataSet.protocollo_corrispondenza );
}
private void Form1_FormClosed(object sender, FormClosedEventArgs e)
{
Program.mainForm.frmForm1Attivo = null;
}
private void allegatiBindingSource_AddingNew(object sender, AddingNewEventArgs e)
{
this.protocollo_corrispondenzaBindingSource.EndEdi t();
this.protocollo_corrispondenzaTableAdapter.Update( gestione_edileDataSet.protocollo_corrispondenza);
}
}
la tabella padre è "prorocollo_corrispondenza" e "allegati" quella correlata.
Io procedo in questo senso, premendo il pulsante sul bindingNavigator per aggiungere un nuovo record, sul controllo agganciato al capo id_protocollo appare un -1, quando clicco sulla riga della dataGrid, viene esguito l'evento addingNew. Utilizzando SqlServer viene subito resituito l'id della riga assegnato e quindi associato alla chiave esterna della tabella allegati, infatti questo appare subito sulla nuova riga della dataGrid. Utilizzando Mysql, questo non accade, sull'id_protocollo rimane quel -1 che viene associato alla chiave esterna della tabella allegati.
Qualcuno conosce il motivo?