cercherò di essere più chiaro del titolo;
ho un DataGridView che popolo utilizzando un DataSet, dove però nella SELECT uso un "Left OUTER JOIN" poichè nella tabella del db ho un campo che si riferisce alla Key di una tabella dove faccio il collegamento per leggere il campo descrizione collegato al record Key della tabella.
esempio:
codice:
myadapter = new OleDbDataAdapter("SELECT A.campo, A.campo2, B.campo FROM tabella AS A LEFT OUTER JOIN tabella2 AS B ON A.campoID = B.campoID",conn)
adapter.FillSchema(dataSet, SchemaType.Source, "elenco")
adapter.Fill(dataSet, "elenco")
fin qui tutto ok, quando però vado a fare una ricerca di una specifica riga attraverso i campi chiave, mi viene dato l'errore che non esistono nella tabella campi chiave, invece io nella tabella del db i primi due campi sono di tipo Key, questo non succede se nella select non inserisco la LEFT OUTER JOIN;
ho provato a dichiarare io a mano le colonne Key, è funziona solo che qundo vado a cancellare la riga mi dà il seguente errore:
"generazione SQL dinamica non supporta per tabelle di base multiple"
per l'eliminazione della riga uso il codice:
codice:
Dim objCommandBuilder As New OleDbCommandBuilder(adapter)
riga = dataSet.Tables("elenco").Rows.Find(codice)
riga.Delete()
adapter.Update(dataSet, "elenco")