大家好我有一个程序的问题会感谢一些帮助。
首先,我想尝试Donation_euro.Text
并将其计时
0.83得到转换率,我想我已经做到了这一点,但似乎并没有起作用。
(转换的原因是我的数据库中只能有一种货币)。
其次我想插入donation_total
和donation.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);
}
注意:
Donation_euro.Text和donation.Text are both text boxes and I have my table column set to double
答案 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;