Nom de la table du DataSet à partir d'une procédure stockée
Question
J'utilise une procédure stockée pour remplir un DataSet. Ce que je dois faire, c'est forcer le nom du DataTable créé lorsqu'il est rempli. Plusieurs tables sont retournées à partir de la procédure stockée. La dernière table est celle sur laquelle je dois m'assurer d'avoir un nom spécifique lors de son retour. Il est créé en renvoyant une valeur de variable et en ne tirant aucune table.
SELECT @Phone en tant que My_800Number
Comment puis-je effectuer ce retour sous forme de table appelée "D1Header"?
La solution
Il n’existe pas de méthode native ADO.NET; ADO.Net attribue un nom généré avec un numéro de séquence, conformément à ceci
Vous pouvez contourner le problème ... si vous dites que vous avez besoin du dernier tableau portant un nom spécifique, vous pouvez le faire:
if (ds.Tables.Count > 0) {
ds.Tables[ds.Tables.Count - 1].TableName = "name";
}
Autres conseils
Peut utiliser une énumération des noms de table et référencer celle-ci dans votre référence de table plutôt que la table elle-même.
ds.tables (myEnum.Contacts) .rows?