public int Update(工号台时表 工号台时表)
        {
            string sql =
                "UPDATE 工号台时表 " +
                "SET " +
                " 日期 = @日期"
                + ", 工时 = @工时"
                + ", 折合工时 = @折合工时"
                + ", 工号 = @工号"
                + ", 部门 = @部门"

                + " WHERE id = @id";


            SqlParameter[] para = new SqlParameter[]
            {
                new SqlParameter("@id", 工号台时表.Id)
                , new SqlParameter("@日期", ToDBValue(工号台时表.日期))
                , new SqlParameter("@工时", ToDBValue(工号台时表.工时))
                , new SqlParameter("@折合工时", ToDBValue(工号台时表.折合工时))
                , new SqlParameter("@工号", ToDBValue(工号台时表.工号))
                , new SqlParameter("@部门", ToDBValue(工号台时表.部门))
            };

            return(SqlHelper.ExecuteNonQuery(sql, para));
        }
        public 工号台时表 ToModel(SqlDataReader reader)
        {
            工号台时表 工号台时表 = new 工号台时表();

            工号台时表.Id   = (Guid)ToModelValue(reader, "id");
            工号台时表.日期   = (DateTime)ToModelValue(reader, "日期");
            工号台时表.工时   = (decimal)ToModelValue(reader, "工时");
            工号台时表.折合工时 = (decimal)ToModelValue(reader, "折合工时");
            工号台时表.工号   = (string)ToModelValue(reader, "工号");
            工号台时表.部门   = (short)ToModelValue(reader, "部门");
            return(工号台时表);
        }
        // 以上是手工增加的 功能

        public 工号台时表 Add(工号台时表 工号台时表)
        {
            string sql = "INSERT INTO 工号台时表 (id, 日期, 工时, 折合工时, 工号, 部门)  VALUES (@id, @日期, @工时, @折合工时, @工号, @部门)";

            SqlParameter[] para = new SqlParameter[]
            {
                new SqlParameter("@id", ToDBValue(工号台时表.Id)),
                new SqlParameter("@日期", ToDBValue(工号台时表.日期)),
                new SqlParameter("@工时", ToDBValue(工号台时表.工时)),
                new SqlParameter("@折合工时", ToDBValue(工号台时表.折合工时)),
                new SqlParameter("@工号", ToDBValue(工号台时表.工号)),
                new SqlParameter("@部门", ToDBValue(工号台时表.部门)),
            };
            SqlHelper.ExecuteNonQuery(sql, para);
            return(工号台时表);
        }
        private void btn_import_Click(object sender, EventArgs e)
        {
            if (txt_filename.get_value() == "")
            {
                MessageBox.Show("请指定文件名称");
                return;
            }
            工号表DAL ghdal = new 工号表DAL();

            工号台时表DAL dal = new 工号台时表DAL();

            Microsoft.Office.Interop.Excel.Application app = new Microsoft.Office.Interop.Excel.Application();

            if (app == null)
            {
                MessageBox.Show("Excel 启动错误, 程序将返回 !");
                return;
            }

            Microsoft.Office.Interop.Excel.Workbook  wk;
            Microsoft.Office.Interop.Excel.Worksheet sh;
            string filename = txt_filename.get_value();



            if (dal.isHasRecord(mydate.Value, deptcode))
            {
                wk = app.Workbooks.Open(filename);
                sh = null;

                foreach (Worksheet mysheet in wk.Worksheets)
                {
                    if (mysheet.Name.Trim() != "成表")
                    {
                        continue;
                    }
                    else
                    {
                        sh = mysheet;
                        break;
                    }
                }

                if (sh == null)
                {
                    MessageBox.Show("没有找到 成表 页 !");
                    app.Quit();
                    return;
                }

                model.工号台时表 mycls;

                List <工号台时表> mylist = new List <工号台时表>();

                int myrow = 2;



                while (sh.Cells[myrow, 1].value != null)
                {
                    mycls = new 工号台时表();

                    mycls.Id = Guid.NewGuid();
                    mycls.工号 = sh.Cells[myrow, 1].value.ToString().Trim();
                    mycls.部门 = 21;
                    mycls.日期 = new DateTime(mydate.Value.Year, mydate.Value.Month, 15);
                    if (sh.Cells[myrow, 2].Value == null)
                    {
                        mycls.工时 = 0;
                    }
                    else
                    {
                        mycls.工时 = (decimal)sh.Cells[myrow, 2].Value;
                    }

                    if (sh.Cells[myrow, 3].Value == null)
                    {
                        mycls.折合工时 = 0;
                    }
                    else
                    {
                        mycls.折合工时 = (decimal)sh.Cells[myrow, 3].Value;
                    }

                    mylist.Add(mycls);
                    myrow++;
                }
                app.Quit();

                工号表DAL dal2        = new 工号表DAL();
                string wrongworkno = "";
                bool   wrongflag   = true;


                foreach (工号台时表 工号台时 in mylist)
                {
                    if (!dal2.IsIn工号表(工号台时.工号))
                    {
                        wrongworkno += 工号台时.工号 + ", ";
                        wrongflag    = false;
                    }
                }
                if (!wrongflag)
                {
                    MessageBox.Show(wrongworkno, "错误工号");
                    return;
                }


                工号台时表DAL da1l = new 工号台时表DAL();
                foreach (工号台时表 工号台时 in mylist)
                {
                    da1l.Add(工号台时);
                }
            }
            fill();
        }