Я знаю, что этот вопрос задан много раз, но у меня есть следующий фрагмент кода, который я пытаюсь использовать для стандартных значений по умолчанию. Может кто-то, пожалуйста, помогите мне. Я пробовал этот код, но вместо того, чтобы давать мне «НЕТ ДАННЫХ» для нулевых значений, он ничего не отображает. Не знаю, где я ошибаюсь.Заменить нулевое значение текстом по умолчанию
Подробнее: Этот код не заменяет нулевые значения строкой «НЕТ ДАННЫХ». Что здесь не так? Что мне нужно изменить, чтобы он отображал «НЕТ ДАННЫХ»?
protected override void Execute(NativeActivityContext context)
{
DataSet dataset = GetDataSet.Get(context);
foreach (DataTable dt in dataset.Tables)
{
foreach (DataRow row in dataset.Tables[0].Rows)
{
if (row["USER_COMMENT"] is System.DBNull)
{
ConvertNullToEmptyString(dt);
Console.WriteLine("In if");
}
else
{
Console.WriteLine("out if");
}
}
}
TransformResult.Set(context, dataset);
}
private static string ConvertNullToEmptyString(DataTable element)
{
if (element.Rows[0]["USER_COMMENT"] == DBNull.Value || element.Rows[0]["USER_COMMENT"] == null)
{
return "NO DATA";
}
else
{
return element.Rows[0]["USER_COMMENT"].ToString();
}
}
'ConvertNullToEmptyString', казалось бы, _returns_«NO DATA», но вы никогда не используете возвращаемое значение. –
да, я думаю, вы правы, как я должен это делать? – rvphx
Не удается проверить atm, но я бы попробовал просто «var user_comment = row.Field (« USER_COMMENT ») ?? «NO DATA»; 'для получения значения' USER_COMMENT' или строки 'NO DATA', если DBNull. Замена значения в фактическом datarow довольно медленная, а afaik не требуется. –