2014-11-06 6 views
0

Это довольно простой вопрос, хотя я не уверен, как это сделать. Я делаю запрос в базе данных, а затем вставляя вытащенное значение в текстовое поле. Однако запрос может вернуть нулевое значение, вот моя проблема. Если запрос возвращает нуль, тогда текстовое поле должно отображать 19. Я не уверен, как проверить возвращаемые данные, чтобы определить, был ли возвращен null, чтобы 19 можно было вставить в текстовое поле. Вот мой код (он работает положить возвращаемое значение в текстовое поле его отсутствующий чек на нуль/добавить 19)Загрузка данных в текстовое поле

using (test1 ds = new test1()) 
{ 
    DataTable dt = ds.dataset.Tables[0]; 
    List<string> coolList = new List<string>(); 

    foreach (DataRow row in dt.Rows) 
    { 
     coolList.Add(row[0].ToString()); 
    } 

    textBox7.Text = string.Join(" ", coolList); 
} 
+0

Я отредактировал ваш заголовок. Пожалуйста, смотрите: «Если вопросы включают« теги »в их названиях?] (Http://meta.stackexchange.com/questions/19190/), где консенсус« нет, они не должны ». –

+0

спасибо, пока не знаете все правила. – Himarm

ответ

2

Лучше не использовать нуль. Простая запись в SQL: SELECT IsNull(YourColumn, 19) as YourColumn FROM WhatEver. Чем вы решили проблему непосредственно в sql.

+0

мой sql немного шаткий, например, если мой выбор - SELECT Cat FROM Dog, я бы изменил его на SELECT IsNull (Cat, 19) как Cat From dog? – Himarm

+0

Это зависит от типа данных Cat. Если кошка является варчаром, вы должны использовать: SELECT IsNull (Cat, '19') как Cat From dog. Если Cat является целым числом, пусть одинарная кавычка. – BendEg

+0

спасибо, что это сработало отлично. – Himarm

2
string rowString = !String.IsNullOrEmpty(row[0].ToString()) ? row[0].ToString() : "19"; 
coolList.Add(rowString); 

Вы можете использовать String.IsNullOrWhiteSpace вместо этого, если вы используете .NET 4 или более поздней версии.

+0

спасибо, что я изначально искал, но sql упрощает работу. однако я использую эту часть в другом месте для другого вопроса, который у меня был так благодарен. – Himarm

1

Вместо создания List<string>, вы можете использовать LINQ to DataSet/DataTable как:

textBox7.Text = string.Join(" ", 
    dt.AsEnumerable() 
     .Select(r => string.IsNullOrWhiteSpace(r.Field<string>(0)) 
      ? "19" 
      : r.Field<string>(0))); 
1

Использование ISNULL является Чё нужно справиться с этим.

Смежные вопросы