从阅读器检索数据并将其保存在double变量中

时间:2018-09-18 13:45:00

标签: sql .net

我正在设计一个向公司发行票证的项目。为此,我使用一个表格来存储成人和儿童票证的价格。

enter image description here

enter image description here

在我的程序中,我使用读取器来检索表中的这些值并将它们保存为十进制变量。以下是代码。(成人票的成人数量,儿童票的孩子数量,成人票的价格-价格)成人票,儿童票的价格-)

            adult= Double.Parse(txtadult.Text);
            child = Double.Parse(txtchild.Text);
            con.Open();
            String select_query_pri = "SELECT Adult,Child FROM Price WHERE No= 1 ";
            cmd = new SqlCommand(select_query_pri, con);
            SqlDataReader R = cmd.ExecuteReader();
            while (R.Read())
            {
                adprice = R.GetDouble(0);
                chprice = R.GetDouble(1);
            }
            con.Close();
            tot = (adult * adprice) + (child * chprice);
            txttotal.Text = tot.ToString();

然后我使用另一个double变量计算票证的总数,然后将其显示在程序中。但是,在执行该程序时,会出现一个错误消息,指出“指定的转换无效”。

enter image description here

此错误的原因是什么?

1 个答案:

答案 0 :(得分:1)

尝试使用以下几行;

adprice = Convert.ToDouble(R[0]);
chprice = Convert.ToDouble(R[1]);