2016-10-30 2 views
1

Общение с моим asp.net продолжает возвращать нулевое значение ... На самом деле я не уверен, почему.C# asp.net MySQL Значения возвращаются как Null

Я использовал Post Man для вывода информации обратно, чтобы увидеть результат, исключая использование WPF, чтобы убедиться, что это мой API. Единственный результат, который я могу вернуть, - это результат, который я ищу ... I.E. BanID возвращает BanID. Все остальные возвращают нулевое значение.

Я использовал этот метод для других вещей на одном API, и он отлично работает ... Где-то я сделал опечатку.

Это для окна поиска на C# asp.net сообщающимся с WPF в MySQL

[HttpPost] 
    [Route("A3Bans/searchBan")] 
    public string oSearchBan(tBan ban) 
    { 
     { 
      tBan bans = new tBan(); 
      string dbConnection = "datasource=127.0.0.1;port=3306;username=admin;password=123"; 
      MySqlConnection conDataBase = new MySqlConnection(dbConnection); 
      MySqlCommand dbSearch; 
      conDataBase.Open(); 
      MySqlDataReader dbReader; 
      string selectQuery = "Select * FROM a3bans.bans WHERE BanID=" + int.Parse(ban.BanID); 

      dbSearch = new MySqlCommand(selectQuery, conDataBase); 
      dbReader = dbSearch.ExecuteReader(); 

      if (dbReader.Read()) 
      { 
       tBan searchBan = new tBan(); 
       searchBan.GuidOrIP = dbReader.GetString("GUID"); 
       //searchBan.BanType = dbReader.GetString("BanType"); 
       searchBan.BanReason = dbReader.GetString("Reason"); 
       searchBan.Proof = dbReader.GetString("Proof"); 
       bans.Equals(searchBan); 
      } 
      dbReader.Close(); 
      return bans.GuidOrIP; 
     } 
+0

вы получаете нулевой из базы данных? –

+0

Если строк нет, вы возвращаете null, так как вы не выполняете 'dbReader.Read()' – Rob

ответ

0

BanID Если есть ПК, то только одна строка будет возвращена

If there are multiple rows for one BanID, then you need to iterate dbReader 
while(dbReader.Read()) 
{ 
} 

Наконец проверить ваши return.

+0

Спасибо mil, отлично работает! – Mokey

0

Изменить

bans.Equals(searchBan); 

Для

bans = searchBan; 
+0

Спасибо, вау, я чувствую себя настоящим немым сейчас .. lol. – Mokey

+0

Если он отвечает на ваш вопрос, вы должны отметить его как правильный ответ, а не добавить комментарий «спасибо» @Mokey –

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