что является корректным способом читать из datarow, если ячейка могла бы быть пустой

Технически модульными тестами постоянства не являются Модульные тесты, они - Интеграционные тесты.

С C# с помощью mbUnit, Вы просто используете атрибуты SqlRestoreInfo и RollBack

    [TestFixture]
    [SqlRestoreInfo(<connectionsting>, <name>,<backupLocation>]
    public class Tests
    {

        [SetUp]
        public void Setup()
        {

        }

        [Test]
        [RollBack]
        public void TEST()
        {
           //test insert. 
        }
    }

, то же может быть сделано в NUnit, кроме названий атрибута отличаются slighty.

Что касается проверки, если Ваш запрос был succeful, обычно необходимо следовать за ним со вторым запросом, чтобы видеть, была ли база данных изменена, как Вы ожидаете.

10
задан Cdeez 8 September 2012 в 12:14
поделиться

4 ответа

Если столбец имеет строковый тип, но допускает значение NULL, как насчет попытки:

// FirstName must allow null
FirstName = dr["FirstName"] as string

или

// FirstName would be empty for a NULL in the database
FirstName = (dr["FirstName"] as string) ?? string.Empty 
10
ответ дан 3 December 2019 в 20:42
поделиться

dr ["FirstName"]. ToString () иногда будет вызывать исключения нулевого указателя, потому что вы пытаетесь получить доступ к ToString для нулевого объекта. Помимо этого, строки могут быть нулевыми, поэтому на самом деле, если вы знаете, что это строка, и не возражаете, что она пустая, было бы безопасно сделать

FirstName = (String) dr["FirstName"]
2
ответ дан 3 December 2019 в 20:42
поделиться

Передать столбец и значение по умолчанию вспомогательной функции, которая проверяет наличие null и возвращает значение по умолчанию, если оно равно null, или значение столбца, если не null.

1
ответ дан 3 December 2019 в 20:42
поделиться

Для возврата пустой строки, если столбец имеет значение NULL, можно использовать следующее:

FirstName = string.format("{0}", dr["FirstName"])
1
ответ дан 3 December 2019 в 20:42
поделиться
Другие вопросы по тегам:

Похожие вопросы: