2009-07-12 7 views
2

Я пытаюсь использовать DataTable, заполненный MySqlDataAdapter, который содержит список комментариев для записи в блоге. По некоторым причинам, если для поля «анонимный» установлено значение «1», поле имени пользователя пуст и должно быть заменено указанной строкой.Почему мой DataTable всегда возвращает «true/false», но никогда не строку?

Проблема заключается в том, что всякий раз, когда я пытаюсь получить значение поля, я получаю либо «истинный», либо «ложный». Мой код выглядит следующим образом:

DataTable modifiedComments = new DataTable(); 
// The function GetCommentsById() returns a MySqlDataAdapter with the result of the query 
MySqlDataAdapter commentsContainer = Wb.Entry.GetCommentsById(imageId); 
commentsContainer.Fill(modifiedComments); 
commentsContainer.Dispose(); 

    foreach (DataRow row in modifiedComments.Rows) 
     { 
      string status; 
      // This never returns true, so we always get into the else 
      if (row["anonymous"] == "1") 
      { 
        status = "You are anonymous"; 
      } 
      else 
      { 
        status = "You are not anonymous"; 
      } 
     } 

     viewImageCommentsRepeater.DataSource = modifiedComments; 
     viewImageCommentsRepeater.DataBind(); 

ответ

5

Поле, вероятно, «бит» тип поля, который отображает на Логическое в ADO.NET

Просто проверьте истинным или ложным:

if ((bool)row["anonymous"]) 
    ...