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 " ;?

È stato utile?

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?

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