2017-06-10 13 views
-1

これについていくつかの記事を調べたところ、私のコードにはUPDATE MySQLクエリーを試しても試しても間違いがないとの結論に達しました。Visual Studio |私のMySQL Update Queryが機能しません。

私は通貨に似た値を更新しようとしていますが、これまでどんな影響もありません。

コードはボタンを介してアクティブになります。これに加えて、出力は「ビットが転送されました」です。

 else if (function == "transfer") 
      { 
       myDataAdapter.SelectCommand = new MySqlCommand("select * from test.auth where id = '" + Int32.Parse(materialSingleLineTextField3.Text) + "' ;", myConn); 
       MySqlDataReader reader = myDataAdapter.SelectCommand.ExecuteReader(); 

       Int32 count = 0; 
       while (reader.Read()) 
       { 
        count += 1; 
       } 

       if (count == 1) 
       { 
        myDataAdapter.SelectCommand = new MySqlCommand("update test.auth SET bits = bits + '" + double.Parse(materialSingleLineTextField4.Text) + "' where id = '" + Int32.Parse(materialSingleLineTextField3.Text) + "' ;", myConn); 
        materialFlatButton6.Text = "Bits have been transferred!"; 
       } 
       else 
       { 
        materialFlatButton6.Text = "No Token was found!"; 
       } 

      } 
     } catch (Exception ex) 
     { 
      MessageBox.Show(ex.ToString()); 
     } 
+0

は、あなたが実際にどこにでもコマンドを実行していません。 – FrankerZ

+0

私の悪い、私はAFKに行ったので、私は4分待たなければならないと言った、私は完全に忘れてしまった。 –

答えて

1

あなたは(に変更myConnあなたMySqlConnection以前のプログラムで開始されました)この2番目のクエリを実行する必要があります。

if (count == 1) 
{ 
    var command = new MySqlCommand("UPDATE test.auth SET bits = bits + @bits WHERE id = @id;", myConn); 
    command.Parameters.AddWithValue("@bits", materialSingleLineTextField4.Text); 
    command.Parameters.AddWithValue("@id", materialSingleLineTextField3.Text); 
    command.ExecuteNonQuery(); 
    materialFlatButton6.Text = "Bits have been transferred!"; 
} 
+0

ここで_materialSingleLineTextField4.Text = "ABC"の場合は_;また、この種の文字列連結が起こるのを待っている災害であることを説明することを忘れないでください。 – Steve

+0

ああ、実行する必要があります、ありがとう! 編集:また、ちょうど追加する前に読者を閉じなければなりませんでした。 –

+0

@ Steve私はバインディングパラメータで答えを更新しました。 – FrankerZ