我的listview1如下               数据库中有个限定每天消费总额表Consume如下
     名目     消费额          日期(Date)    总额(money)     
     水果      10                 1           50
     零食      5        减去按钮                    消费额和总额都是double类型
只能一天花费不超过50元,花费一项就从总额中减去
选中listview中的一项就点击减去按钮,更新数据库表,从表中总额减去一项的消费额代码怎么写呀???
//从数据库表中减去钱
            
            下面第一行代码总报错,说第一行的字符串  InvalidArgument="0"的值对于“index”无效。
            string cmdStr1 = string.Format("update Consume set money=money-{0} where Date={1}",           listView3.SelectedItems[0].SubItems[1].Text,FrmMain.date);   
            SqlCommand cmd = new SqlCommand(cmdStr1,DBcon.con);
            DBcon.con.Open();
            cmd.ExecuteNonQuery();
            DBcon.con.Close();

解决方案 »

  1.   

    声明:上面的listView3是listView1
    我把listView1.SelectedItems[0].SubItems[1].Text
    改成listView1.SelectedItems[0].SubItems[1].ToString()也不行FrmMain.date这是我调用的主窗体的静态date日期,这没错。我把listView1.SelectedItems[0].SubItems[1].Text直接换成一个double值10.00就能通过,
      

  2.   

    强制改变类型这样改也不行Convert.todouble(listView3.SelectedItems[0].SubItems[1].Text)    
      

  3.   

    不直接就是SubItem.Text吗?   汗 = =!
      

  4.   

    啊  你那个金额是double类型的吧?
    Convert to double或者float可以吧
      

  5.   

    谢谢提醒,必须先在listview1中选中项,则代码得用listview1.selectedItems.点后面就没有子项SubItem.Text  只能是listView1.SelectedItems[0].SubItems菜有子项冒出来。