DataSet z pustą wartością, czym ona jest w definicji języka?

0

Wykonuję zapytanie do bazy i jak zwróci mi obrazek to chcę go wpisać do pictureBoxa, jeśli natomiast obrazka to ma (w bazie jest null) to chcę wrzucić do pictureBoxa empty.png. Wszystko spoko, tylko na etapie warunku "if" zawsze mam wartość w row[0]. Próbowałem przyrównywać myRow.ItemArray.GetValue(0) (albo myRow.ItemArray[0]) do null, "", new byte[0], nawet equals, co widać na zdjęciu i ciągle warunek jest spełniony. Jak sprawdzić, czy pierwsza wartość nie jest pusta? Wrzucam zrzut ekranu z debugowania, żeby pokazać jaką wartość trzyma, gdy pobrał null z zapytania. Co taka wartość faktycznie reprezentuje? Jak zapytać o obiekt pusty-niepusty?

            SqlCommand command = new SqlCommand(sqlQuery, sqlConn);

            SqlDataAdapter dp = new SqlDataAdapter(command);
            DataSet ds = new DataSet("MyImages");

            byte[] MyData = new byte[0];

            dp.Fill(ds, "MyImages");
            DataRow myRow;
            myRow = ds.Tables["MyImages"].Rows[0];
            
            if (__jaki_warunek_postawic?___)
            {
                MyData = (byte[])myRow["Picture"];

                MemoryStream stream = new MemoryStream(MyData);                
                pictureBox1.Image = Image.FromStream(stream);
            }
            else
            {
                Bitmap bmp = new Bitmap(@"c:\!a\empty.png");
                pictureBox1.Image = bmp;
            }

user image

0

małe zaćmienie, przecież zawsze można zrobić to tak:

if (myRow.ItemArray[0].ToString() != "")
0

http://stackoverflow.com/questions/1772025/sql-data-reader-handling-null-column-values
Sorry, bo ty masz SqlDataAdapter, przyrównaj to do DbNull.Value.

1 użytkowników online, w tym zalogowanych: 0, gości: 1