怎么做总价

时间:2016-07-21 06:45:47

标签: asp.net sql-server-2008

如何为此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;


        }
    }
 }

}

1 个答案:

答案 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);