2016-12-28 11 views
-1

ラベルは、コード内でのMySQLから設定されていると私はボタンをintに値を変換すること(ラベル内の数字は、MySQLからフェッチされる)がintにラベルテキストを変換できません

var x = Convert.ToInt32(lbl_Balance.Text); 

     label4.Text = x.ToString(); //temp 

私は未処理の「得続けますmscorlib.dllで 'System.FormatException'型の例外が発生しました。追加情報:入力文字列が正しい形式ではありませんでした。ここで

はlbl_Balance(ラベル)に値を入れているためのコードである

MySqlConnection myconnbalance = new MySqlConnection(balanceConn); 
      string sqlbalance = "SELECT Balance FROM user_data_new WHERE Username='" + loggeduser + "'"; // string sqlbalance = "SELECT 'Balance' FROM 'user_data_new' WHERE 'Username'='" + loggeduser + "'"; 
      MySqlDataAdapter dabalance = new MySqlDataAdapter(sqlbalance, myconnbalance); 
      DataTable dtbalance = new DataTable(); 
      dabalance.Fill(dtbalance); 
      if (dtbalance.Rows.Count == 0) 
      { 
       MessageBox.Show("Doesn't exists"); 
      } 
      else 
      { 
       timer1.Enabled = true; 
       lbl_Balance.Visible = true; 
       lbl_Balance.Text = "Balance: "+dtbalance.Rows[0][0].ToString(); //not working?! 


      } 
      myconnbalance.Close(); 
     } 

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

xの値は何ですか? – Trey

+2

変換しようとしている値は何ですか?その例外は、それが有効な番号ではないことを意味します。 –

+0

xはintを格納するために新たに作成された値であり、その例外が解決策を見つけることができなかったことを知っています。文脈でそれは私がMySQLから得たユーザーバランスの値です。これはintである必要がありますので、私はそれを引くことができ、dbにユーザーが賭けをしたらdbに更新することができます –

答えて

-1
var x = Convert.ToInt32(lbl_Balance.Text.Trim()); 

テキスト内の空白がある場合、トリム試してみてください。

+0

彼はMySqlデータベースから彼の価値を得ています、そして、そのデータ型は彼のデータベースに既にintです。 – Rajput

+0

intは、そのエラーを取得すべきではありません。なぜ、私は、取り出しに何らかの追加の空白があり、値をラベルに割り当てることを考えています。 – Gautam

+0

テキストから「バランス:」というテキストを部分文字列で削除し、トリムを行う必要があります。 – Gautam

関連する問題