将两个值插入一列,包括乘法C#

时间:2013-11-27 15:55:00

标签: c# mysql sql-insert

大家好我有一个程序的问题会感谢一些帮助。

  1. 首先,我想尝试Donation_euro.Text并将其计时 0.83得到转换率,我想我已经做到了这一点,但似乎并没有起作用。 (转换的原因是我的数据库中只能有一种货币)。

  2. 其次我想插入donation_totaldonation.Text 进入同一列,这将给我的用户选择付款 欧元或英镑。但似乎我不能按照我的方式做到这一点 试过,有没有办法解决这个问题让它发挥作用?

                Double donation_euro = Convert.ToDouble(Donation_euro.Text);
                Double convertion_rate = 0.83;
                Double donation_total = donation_euro * convertion_rate;
    
                da.InsertCommand = new MySqlCommand("INSERT INTO Customer(Donation,donation_total)VALUES (@Donation)", cs);
                {
    
                    da.InsertCommand.Parameters.AddWithValue("@Donation", donation.Text + donation_total);
                } 
    
  3. 注意:     Donation_euro.Text和donation.Text are both text boxes and I have my table column set to double

2 个答案:

答案 0 :(得分:1)

试试这个:

da.InsertCommand.Parameters.AddWithValue("@Donation", donation_total);

而不是:

da.InsertCommand.Parameters.AddWithValue("@Donation", donation.Text + donation_total);

此外,您的insert语句需要第二个参数。(希望您在实际代码中提供该参数)

da.InsertCommand = new MySqlCommand("INSERT INTO Customer(Donation,donation_total)VALUES (@Donation)", cs);

答案 1 :(得分:1)

您尝试使用INSERT填充字段,但您只在语句的VALUES部分中提供了一个值。这会在调用中出错,因为它不是有效的SQL。

按如下方式更改:

da.InsertCommand = new MySqlCommand("INSERT INTO Customer(Donation,donation_total) VALUES (@Donation, @Total)", cs);
{
    da.InsertCommand.Parameters.AddWithValue("@Donation", donation.Text);
    da.InsertCommand.Parameters.AddwithValue("@Total", donation_total);
} 

哦:使用参数化查询+1;