如何为此saleresult代码制作总价?在这段代码中我编写了2个查询,首先我从SQL服务器获取价格,在第二个查询中,我用户获取所选项目并将价格放在它们附近并显示在标签中。现在我想在一个标签上显示总价但我有转换问题。我该怎么办?
public partial class SingleSeatSaleResult : System.Web.UI.Page
{
string Fruit_price;
string Drink_price;
string Desert_price;
string MainFood_price;
string Salad_price;
string TableFlower_price;
string SaloonLighting_price;
string SaloonDesign_price;
string SaloonCrew_price;
string Pastry_price;
string GiftCard_price;
protected void Page_Load(object sender, EventArgs e)
{
using (SqlConnection connection2 = DBConnection.getConnection())
{
//query for fetch service prices
string strquery2 = "SELECT Fruit_price,Drink_price,Desert_price,MainFood_price,Salad_price,TableFlower_price,SaloonLighting_price,SaloonDesign_price,SaloonCrew_price,Pastry_price,GiftCard_price FROM GenReservationServicePrice";
connection2.Open();
SqlCommand cmd2 = new SqlCommand();
cmd2.Connection = connection2;
cmd2.CommandText = strquery2;
SqlDataReader reader1 = cmd2.ExecuteReader();
if (reader1.Read())
{
Fruit_price = reader1[0].ToString();
Drink_price = reader1[1].ToString();
Desert_price = reader1[2].ToString();
MainFood_price = reader1[3].ToString();
Salad_price = reader1[4].ToString();
TableFlower_price = reader1[5].ToString();
SaloonLighting_price = reader1[6].ToString();
SaloonDesign_price = reader1[7].ToString();
SaloonCrew_price = reader1[8].ToString();
Pastry_price = reader1[9].ToString();
GiftCard_price = reader1[10].ToString();
}
}
using (SqlConnection connection1 = DBConnection.getConnection())
{
string strquery1 = "SELECT (select top 1 'Fruit' FROM WeedingSalonGeneralRes where Fruit=1) as fruit, (select top 1 'Drink' FROM WeedingSalonGeneralRes where Drink=1) as drink, (select top 1 'Desert' FROM WeedingSalonGeneralRes where Desert=1) as desert,(select top 1 'MainFood' FROM WeedingSalonGeneralRes where MainFood=1) as MainFood,(select top 1 'Salad' FROM WeedingSalonGeneralRes where Salad=1) as salad,(select top 1 'TableFlower' FROM WeedingSalonGeneralRes where TableFlower=1) as TableFlower,(select top 1 'SaloonLighting' FROM WeedingSalonGeneralRes where SaloonLighting=1) as SaloonLighting,(select top 1 'Saloondesign' FROM WeedingSalonGeneralRes where Saloondesign=1) as Saloondesign,(select top 1 'SloonCrew' FROM WeedingSalonGeneralRes where SloonCrew=1) as SloonCrew,(select top 1 'Pastry' FROM WeedingSalonGeneralRes where Pastry=1) as Pastry,(select top 1 'GiftCard' FROM WeedingSalonGeneralRes where GiftCard=1) as GiftCard ";
connection1.Open();
SqlCommand cmd1 = new SqlCommand();
cmd1.Connection = connection1;
cmd1.CommandText = strquery1;
string cis = Session["customerID"].ToString();
lbl2_customerid.Text = cis;
SqlDataReader reader2 = cmd1.ExecuteReader();
if (reader2.Read())
{
if (reader2[0].ToString() != null && reader2[0].ToString() != "")
lbl8_fruit.Text = reader2[0].ToString() + Fruit_price;
if (reader2[1].ToString() != null && reader2[1].ToString() != "")
lbl10_drink.Text = reader2[1].ToString()+Drink_price;
if (reader2[2].ToString() != null && reader2[2].ToString() != "")
lbl11_desert.Text = reader2[2].ToString()+Desert_price;
if (reader2[3].ToString() != null && reader2[3].ToString() != "")
lbl12_mainfood.Text = reader2[3].ToString()+MainFood_price;
if (reader2[4].ToString() != null && reader2[4].ToString() != "")
lbl13_salad.Text = reader2[4].ToString()+Salad_price;
if (reader2[5].ToString() != null && reader2[5].ToString() != "")
lbl14_tableflower.Text = reader2[5].ToString()+TableFlower_price;
if (reader2[6].ToString() != null && reader2[6].ToString() != "")
lbl15_saloonlighting.Text = reader2[6].ToString()+SaloonLighting_price;
if (reader2[7].ToString() != null && reader2[7].ToString() != "")
lbl16_saloondesign.Text = reader2[7].ToString()+SaloonDesign_price;
if (reader2[8].ToString() != null && reader2[8].ToString() != "")
lbl17_salooncrew.Text = reader2[8].ToString()+SaloonCrew_price;
if (reader2[9].ToString() != null && reader2[9].ToString() != "")
lbl18_pastry.Text = reader2[9].ToString()+Pastry_price;
if (reader2[10].ToString() != null && reader2[10].ToString() != "")
lbl19_giftcard.Text = reader2[10].ToString()+GiftCard_price;
}
}
}
}
答案 0 :(得分:1)
我认为您需要转换所选商品的价格并将其显示在另一个标签中。 如果是这样,那么你必须将price的label值转换为int并将其相加。
如果我的答案不正确,请提供更多详细信息。
更新: 来自UI,
var totalPrice=(int)lbl8_fruit.Text +(int)lbl10_drink.Text;
如果您需要从阅读器计算它,然后创建不同价格的列表并填写阅读器列表。
之后,
var total= yourList.Sum(x=>x.Price);
如果您的字符串类似于" 10.00",那么您需要转换为double。
如果你的字符串就像" 10",那么
var totalPrice=Convert.ToInt32(lbl8_fruit.Text) +Convert.ToInt32(lbl10_drink.Text);
如果你的字符串有小数,就像" 10.00",那么
var totalPrice=Convert.ToDouble(lbl8_fruit.Text) +Convert.ToDouble(lbl10_drink.Text);