2014-04-07 23 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 
} 
相关问题