Supprimer des lignes qui contient la valeur null à partir de dataTable
J'ai une Table qui contient 7800 lignes chaque ligne contient 3 colonnes qui peuvent avoir des valeurs Null si la deuxième colonne est null je suis la suppression de la totalité de la ligne, le problème est que même quand je suis à la suppression de la ligne de la Table de données contiennent toujours de la même quantité de numéro de ligne souhait est de 7800
le code :
string query = "Select STORE_NAME, STORE_LATITUDE, STORE_LONGTITUDE "
+" From stores inner join contact_information on stores.STORE_ID=contact_information.CONTACT_ID "
+" where CONTACT_TYPE_ID=1 "
+" AND CONTACT_COUNTRY_ID="+Country
+" AND CONTACT_CASA_ID="+Casa
+" AND CONTACT_TOWN_ID="+Town;
DataTable dt = new SQLHelper(SQLHelper.ConnectionStrings.KernelConnectionString).getQueryResult(query);
dt = removeNullColumnFromDataTable(dt);
la fonction :
public static DataTable removeNullColumnFromDataTable(DataTable dt)
{
for (int i = dt.Rows.Count - 1; i >= 0; i--)
{
if (dt.Rows[i][1].ToString() == null)
dt.Rows[i].Delete();
}
return dt;
}
dt.Rows[i][1].ToString() == "")
ne fonctionne pas. "" n'est pas la même que la valeur null.- je le changer à null mais il reste le même
OriginalL'auteur Sora | 2013-07-04
Vous devez vous connecter pour publier un commentaire.
oui c'est ce que je figure sur 🙂 merci à u
J'ai ajouté
dt.AcceptChanges();
🙂OriginalL'auteur Ahmed KRAIEM
vous pouvez modifier la première ligne de ce (pour sql server):
et il suffit de vérifier pour la chaîne vide (si le champ est de type char, varchar ... etc..)
ou utiliser la fonction isnull(STORE_LATITUDE,0) et de contrôler zéro dt.Les lignes[i][1].ToString() == "0" si le champ est de type numérique
dt.Les lignes[i][1].ToString() == ""
wait - quel type de STORE_LATITUDE champ ?
OriginalL'auteur sqladmin