J'ai un ensemble de données avec deux tables. Je veux obtenir la valeur de la première colonne de la deuxième table et l'initialiser en une variable int.
Le nom de cette colonne était CONTACT_ID
J'ai essayé comme ça.
int Contract_id = Convert.ToInt32(dsDiscounts.Tables[1].Columns[0]);
mais il montrait une erreur:
Impossible de convertir un objet de type "System.Data.DataColumn" en type "System.IConvertible".
quelqu'un peut-il m'aider s'il-vous-plaît
dsDiscounts.Tables[1].Columns[0]
renvoie la définition de la colonne (type de données, légende, etc. défini par DataColumn instance). Bien sûr, la conversion de la définition de colonne en entier échoue.
Ce dont vous avez besoin, c'est de la valeur d'une cellule d'une ligne du tableau (supposez la première ligne). Vous devez utiliser la collection Rows
pour accéder aux lignes du tableau. Une fois que vous êtes requis DataRow
par son index, vous pouvez accéder aux cellules de la ligne par index , nom de colonne , objet de colonne, etc. Par exemple obtenir la valeur de cellule de la première ligne par nom de colonne:
dsDiscounts.Tables[1].Rows[0]["CONTACT_ID"]
Essaye ça
int Contract_id = Convert.ToInt32(dsDiscounts.Tables[1].Rows[0]["CONTACT_ID"]);