Frage

Ich habe einen DataTable resultSet; - Ich versuche, Felder für null zu überprüfen, aber ein ‚{}‘ (Leer-Set?) Bekommen Objekt zurück. Suchen Beteiligung „{}“ sind keine geeigneten Lösungen ergeben.

Dies ist der Code, der nicht wie erwartet funktioniert, wenn das „fk_id“ Feld ist null:

if (resultSet.Rows[0].ItemArray[resultSet.Columns.IndexOf("fk_id")] == null)
{
   //never reaches here
}

Hinweis: ein int Index anstelle der Columns.IndexOf() Verwendung ist nicht das Problem

.

Auch funktioniert die "{}" einen anderen Namen in C #?

War es hilfreich?

Lösung

eine Spalte für DBNull in einem Datensatz zu überprüfen, können Sie die IsNull Methode:

if (resultSet.Rows[0].IsNull("fk_id"))

Ihr Vergleich gegen null versagt wahrscheinlich, weil Datasets verwenden null keine „Datenbank NULL“ Wert darzustellen - sie verwenden DBNull.Value . Wenn Sie Ihren Code müssen die Art und Weise arbeiten Sie es vorgestellt haben, versuchen Sie dies:

if (resultSet.Rows[0].ItemArray[resultSet.Columns.IndexOf("fk_id")] == DBNull.Value)

Andere Tipps

try
{
    if (DT.Rows[0][0] != null)
    {      
      //your code
    }    
}    
catch    
{    
    MessageBox.Show("AUTHANICATION FAILED.");    
}

Bitte verwenden:

dataTable.Select("FieldName is NULL")

Dies wird Ihnen die DataRows mit Nullwerten in Feldname Spalte.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top