2016-10-30 7 views
1

私のasp.netと通信するとnull値が返され続けます...なぜ私は実際にはわかりません。C#asp.net MySQLの値がNullとして返される

ポストマンを使用して情報をプッシュして、WPFの使用を除いた結果を見て、それが自分のAPIであることを確認しました。私が返すことができる唯一の結果は、私が探している結果です... I.E. BanIDはBanIDを返します。他のすべてはnull値を返します。

私は同じAPI上の他のものにこのメソッドを使用しました。うまくいきます...私はどこかでタイプミスをしました。

これはBanIDがPKであれば、1行のみ、あなたをチェック最後に

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

を返されるのMySQL

にWPFと通信C#のasp.net上の検索ボックスの
[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

行がない場合は、 'dbReader.Read()'を実行しないのでnullを返します。 – Rob

答えて

0

ですreturn文。

+0

ありがとうございました。 – Mokey

0

変更

bans.Equals(searchBan); 

bans = searchBan; 
+0

ありがとう、うわー、今私は本当のダム感じる..笑。 – Mokey

+0

あなたの質問に答えた場合は、「ありがとう」というコメントを追加するのではなく、正しい答えとしてマークする必要があります。@Mokey –

関連する問題