string hxmc = (string)dryxfsz["hxmc"];

                        double hxfs = (double)dryxfsz["hxfs"];

                        //先计算总分有效分人数等

                        var cx_mbzf = from aa in ds_xscj_tj.Tables[0].AsEnumerable()

                                      where aa.Field<string>("lb") == lb && aa.Field<string>("nj") == nj

                                            && (aa.Field<double?>("zf").HasValue && aa.Field<double?>("zf") > 0)

                                      select aa;

 

                        int zfyxfrs;//总分有效分人数

                        int ckrs;//参考人数

                        double bjpjf;//班级平均分

                        double bjsxl;//总分上线率

                        if (cx_mbzf.Count() > 0)

                        {

                            zfyxfrs = cx_mbzf.Where(aa => aa.Field<double?>("zf") >= hxfs).Count();

                            ckrs = cx_mbzf.Count();

                            bjpjf = Math.Round((double)cx_mbzf.Average(aa => aa.Field<double?>("zf")), 1);

                            bjsxl = Math.Round((double)zfyxfrs / (double)ckrs * 100, 2);

                            //修改数据保存

                           // string cxzf = string.Format("lb='{0}' and hxmc='{1}' and bj='合计'", lb, hxmc);

                           // DataRow[] drzf = ds_xgk_yxf.Tables["yxf"].Select(cxzf);

                            var drzf = ds_xgk_yxf.Tables["yxf"].AsEnumerable().Where(aa => aa.Field<string>("lb") == lb

                                   && aa.Field<string>("hxmc") == hxmc && aa.Field<string>("bj") =="合计");//上面注释掉的两行代码也不错,都可以调用适配器保存到数据库

                            foreach (DataRow dr in drzf)

                            {

                                dr["ckrs"] = ckrs;

                                dr["zfyxfrs"] = zfyxfrs;

                                dr["zfpjf"] = bjpjf;

                                dr["zfsxl"] = bjsxl;

                            }

}

  sda_xgk_yxf.Update(ds_xgk_yxf, "yxf");//更新到数据库

posted on 2020-04-10 14:55  wslk  阅读(258)  评论(0)    收藏  举报