Nome tabella DataSet da una stored procedure
Domanda
Sto usando una procedura memorizzata per riempire un DataSet. Quello che devo fare è forzare il nome della DataTable che viene creata una volta riempita. Esistono più tabelle restituite dalla Stored Procedure. L'ultima tabella è quella di cui ho bisogno per assicurarmi che abbia un nome specifico quando viene restituito. Viene creato restituendo il valore di una variabile e non estraendolo da alcuna tabella.
SELEZIONA @Phone come My_800Number
Come posso effettuare questo ritorno come tabella chiamata " D1Header " ;?
Soluzione
Non esiste un modo nativo ADO.NET per farlo; ADO.Net assegna un nome generato con un numero progressivo, secondo questo
Puoi aggirare il problema ... se dici che hai bisogno dell'ultima tabella con un nome specifico, puoi fare:
if (ds.Tables.Count > 0) {
ds.Tables[ds.Tables.Count - 1].TableName = "name";
}
Altri suggerimenti
Potrebbe usare un enum dei nomi di tabella e fare riferimento a quello nel riferimento della tabella anziché nella tabella stessa.
ds.tables (myEnum.Contacts) .rows?