日期:2014-05-17  浏览次数:20947 次

LISTBOX的使用问题
本帖最后由 bulls5988 于 2013-03-22 15:14:34 编辑
停车场用充值卡消费问题,要实现:
1、一次停车可以刷多张充值卡抵扣停车费,充值卡信息放入一张单独的表里,消费记录放入另一张表里
读卡的时候把卡的信息:卡号、卡余额放入LISTBOX控件 (这步已经完成)

2、举个例子,如果停车费用是(car_fee = 200)200元,使用3张卡抵值(余额分别为:70、60、50) 得到需交现金20元,还要在充值卡资料表里 storevaulecard_data 分别update进去3张消费卡的余额(余额分别为:0、0、0) 应该怎么做呢?

现在没什么思路


//刷卡时在数据库的充值卡表里的资料放入LISTBOX控件中,包括卡号和卡余额 
 private void t_czkh_TextChanged(object sender, EventArgs e)
        {
            if (t_czkh.Text.Length == 27)
            {
                shared_card = t_czkh.Text;
                string shared_sql = "select * from storevaulecard_data 
where storevaluecard_cardid = '" + shared_card + "'";
                SqlConnection conn = new SqlConnection(fee_conn.sql_conn());
                SqlCommand cmd = new SqlCommand(shared_sql, conn);
                conn.Open();
                SqlDataReader rs = cmd.ExecuteReader();
                if (rs.Read())
                {
                    shared_card_je = Convert.ToInt32(rs["storevaluecard_Balance"]);
                    shared_type = Convert.ToString(rs["storevaluecard_type"]);
l_cardshare_list.Items.Add(shared_type + ":" + t_czkh.Text.Substring(0, 10) +
 " 卡余额:" + (shared_card_je));

                }
                else
                {
                    MessageBox.Show("不是有效消费卡", "提示");
                    t_czkh.Text = "";
                    return;
                }
            }
        }
 

------解决方案--------------------
一个收费记录应该有一个唯一标识,这个标识可以对应多条刷卡记录,是否可以?