下面这段代码是想实现读取数据库表中的货币字段money, 并进行更新,但是调试时总在读取money时出错(黄色处),大家帮忙看看,谢谢了~~
db1.oleDbConnection1.Open();
            OleDbCommand cmd = new OleDbCommand("select lb.Account,money,LendDate from lb,reader where lb.Account=reader.[account]",db1.oleDbConnection1  );
            OleDbDataReader dr = cmd.ExecuteReader();
            while (dr.Read())
            {
                DateTime t_m = dr.GetDateTime(2);
                string  money_m =dr.GetString  (1);                string  account_m=dr.GetString (0);
                DateTime t_now = DateTime.Now;
                int days = DateDiff(t_m ,t_now  );
                if (days > 30)
                {                    string fee = Convert.ToString((days - 30) * 0.1 + money_m);
                    OleDbCommand cmd1= new OleDbCommand(string .Format ("update reader set money ='{0}' where [account]='{1}' ",fee,account_m ), db1.oleDbConnection1);
                    cmd1.ExecuteNonQuery();                }
            }
            dr.Close();
            db1.oleDbConnection1.Close();

解决方案 »

  1.   

    黄色处本是 double  money_m =dr.Getdouble  (1);粘错了……
      

  2.   

    invalid castexception was unhandled 指定的转换无效
      

  3.   

    换成:
    decimal money_m =dr.GetDecimal(1);
    试试!
    ----------
    三易通软件(服装进销存,服装进销存软件,服装进销存管理软件,服装进销存管理系统,服装店管理软件,服装店管理系统,服装销售管理软件,服装销售管理系统,服装零售管理软件,服装零售管理系统,服装店软件,服装店收银软件):http://www.3etsoft.cn
      

  4.   

    用 decimal类型 试试!