как проверить, является ли datareader пустым или пустым

SQL Server 2019 все еще находится в CTP, и это новая функция. Если вы нашли ошибку в ней, вы должны сообщить об этом в Microsoft, чтобы она была исправлена ​​до выпуска ( сделано для вас здесь ).

В предыдущих версиях, если вы попытаетесь вставить его вручную, вы увидите ту же ошибку (как в урезанном примере ниже). Это из-за ограничения , обсуждаемого здесь .

WITH T(m_id,fra, til) AS
(
SELECT 1, GETDATE(), GETDATE()
)
SELECT *
FROM T
CROSS APPLY
        (SELECT     
             SUM(DATEDIFF(D, e.FRADATO, til))
         FROM 
             dbo.mlr_eos_avl e 
) CA(result)

До тех пор, пока Microsoft не исправит этот встроенный случай, вы можете использовать

WITH INLINE = OFF

в определении скалярного UDF для отключения встраивания UDF

48
задан Community 23 May 2017 в 12:18
поделиться

5 ответов

if (myReader["Additional"] != DBNull.Value)
{
    ltlAdditional.Text = "contains data";
}
else
{
     ltlAdditional.Text = "is null";
}
69
ответ дан 26 November 2019 в 18:39
поделиться

Прежде всего, вы, вероятно, захотите проверить наличие DBNull , а не обычного Null .

Или вы можете посмотреть на метод IsDBNull

2
ответ дан 26 November 2019 в 18:39
поделиться

Дополнительно в соответствии с приведенными предложениями вы можете сделать это непосредственно из своего запроса, например так -

SELECT ISNULL([Additional], -1) AS [Additional]

Таким образом, вы можете написать условие, чтобы проверить, является ли значение поля <0 или> = 0.

1
ответ дан 26 November 2019 в 18:39
поделиться

AMG - Извините, у меня был блондин. Поле «Дополнительно» было добавлено в базу данных после того, как я изначально проектировал базу данных.

Я обновил весь свой код, чтобы использовать это новое поле, однако я забыл обновить фактический код устройства чтения данных, который выполнял вызов, чтобы выбрать базу данных. поля, поэтому он не вызывал «Дополнительные»

0
ответ дан 26 November 2019 в 18:39
поделиться

@Joe Philllips

SQlDataReader.IsDBNull(int index) требует порядковый номер столбца. Есть ли способ проверить нули, используя имя колонки, а не ее порядковый номер?

1
ответ дан 26 November 2019 в 18:39
поделиться
Другие вопросы по тегам:

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