xmlDoc.DataSet.Tables["<tablename>"].Columns
Je veux faire une boucle à travers ces colonnes via DataColumn
, pour dire ce xmlDoc
a 10 entrées et 5 sont nuls, la boucle doit se produire pour les entrées non nulles seulement.
Des pensées?
xmlDoc.DataSet.Tables["<tablename>"].Columns
Je veux faire une boucle à travers ces colonnes via DataColumn
, pour dire ce xmlDoc
a 10 entrées et 5 sont nuls, la boucle doit se produire pour les entrées non nulles seulement.
Des pensées?
for (int i = 0; i < ds.Tables[0].Columns.Count; i++)
{
DataColumn col = ds.Tables[0].Columns[i] != null ? ds.Tables[0].Columns[i] : "<some default value>";
if (col != "<some default value>")
// do something
}
Que diriez-vous ceci:
foreach (DataColumn column in xmlDoc.DataSet.Tables[""].Columns)
{
if (column != null)
{
// your code here
}
}
Oui j'ai ce genre de code, mais je GET-> System.Exception: objet ne peut pas être jeté de DBNull à d'autres types. – Sharpeye500
Merci, vérifie-t-il si les 5 autres colonnes ont une valeur nulle, je reçois une exception DBNull cast. – Sharpeye500
@ Sharpeye500 alors vous voudriez utiliser 'if (colonne! = DBNull)' à la place @Andrew Hare ne voulait pas détourner une bonne réponse – msarchet
Je continue d'obtenir ceci, System.Web.Services.Protocols.SoapException: Le serveur n'a pas pu traiter la demande. ---> System.Exception: l'objet ne peut pas être transtypé à partir de DBNull vers d'autres types. Une idée? – Sharpeye500
Je n'ai pas vraiment d'endroit pour tester ça, mais l'as-tu essayé? --Mise à jour ma réponse. – mledbetter
Veillez également à autoriser les colonnes de l'ensemble de données en question à autoriser les valeurs NULL pour cette colonne. Vous essayez de copier un document XML à partir d'un service de soap dans un dataset fortement typé. Assurez-vous que l'ensemble de données a été explicitement défini pour autoriser les valeurs null pour toute colonne que vous pensez avoir des valeurs nulles. – mledbetter