2014-04-07 37 views
0

我想補充的是存儲在兩個標籤(主要是十進制值),然後將其插入使用sqlcommmand.Here一個表中的兩個值是我的代碼:增加兩個標籤值,然後將結果在表

 protected void Button1_Click(object sender, EventArgs e) 
{ 
    double balance; 
    double reward; 
    Session["FinalBalance"] = (double.TryParse(lblBalance.Text, out balance) + (double.TryParse(lblReward.Text, out reward)).ToString()); 
    lblFinal.Text = Session["FinalBalance"].ToString(); 
    string CS = ConfigurationManager.ConnectionStrings["ABCD"].ConnectionString; 
    using (SqlConnection con = new SqlConnection(CS)) 
    { 
     con.Open(); 
     SqlCommand cmd = new SqlCommand("Insert into tblRegister('Balance') values('@FinalBalance')", con); 
     cmd.Parameters.AddWithValue("@FinalBalance", Session["FinalBalance"].ToString()); 
    } 


} 

現在會發生什麼,它不會將總和插入到表中。因此,我通過將值傳遞給標籤來檢查總和,並給出了'TrueTrue'。我想它是給出布爾結果。我該如何去做吧?

回答

0

您應該檢查在第一次使用double.TryParse雙重價值,那麼,如果這是真的,則該值是雙倍,如果沒有,則將該值設置爲0。

下面應該工作:

protected void Button1_Click(object sender, EventArgs e) 
{ 
      double balance; 
      bool isDouble = double.TryParse(lblBalance.Text, out balance); 
      if(!isDouble) 
      { 
       balance = 0; 
      } 

      double reward; 
      bool isDouble2 = double.TryParse(lblReward.Text, out reward); 
      if(!isDouble2) 
      { 
       reward=0; 
      } 

      Session["FinalBalance"] = balance + reward; 

      lblFinal.Text = Session["FinalBalance"].ToString(); 
      string CS = ConfigurationManager.ConnectionStrings["ABCD"].ConnectionString; 
      using (SqlConnection con = new SqlConnection(CS)) 
      { 
       con.Open(); 
       SqlCommand cmd = new SqlCommand("Insert into tblRegister('Balance') values('@FinalBalance')", con); 
       cmd.Parameters.AddWithValue("@FinalBalance", Session["FinalBalance"].ToString()); 
      } 
} 
+0

然後只需添加平衡和獎勵? – Mash

+0

是的,如果你想要兩個值都必須是雙倍的,你可以試試onskee解決方案或修改這個。 –

0

double.TryParse返回一個布爾值。 '分析'值在你的平衡和獎勵輸出變量中。

你會想是這樣的:

if((double.TryParse(lblBalance.Text, out balance) && (double.TryParse(lblReward.Text, out reward))){ 
    Session["FinalBalance"] = balance + reward; 
} 
else{ 
    // some kind of error handling 
} 
相關問題