一个小型公司人工费用核算winform查询开发(1)

开发思路:数据库一张表里存储所有员工薪酬数据,除了员工和时间信息,还有2个数字字段:薪酬、公司承担五险一金。一次性提取出来,然后利用c#对list的操作,包括linq技术。通过选择部门、员工、时间对员工薪酬进行随意查询。

本小节用到的技术:连接数据库提取数据到list中。其中private jmjm objjmjm = new jmjm();是对连接字符串的加密解密环节,可以忽视。

1.这是人工核算的类

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Models
{
    [Serializable]
    public class rg
    {
        public bool fx { get; set; }  //复选
        public string year { get; set; }// 年
        public string month { get; set; }//月份
        public string bmbm { get; set; }//部门编码
        public string bmtxt { get; set; }//部门文本
        public string name { get; set; }//员工
        public string ygfl { get; set; } //员工分类
        public decimal xc { get; set; } //薪酬
        public decimal wxyj { get; set; } //企业承担五险一金
        public decimal total { get; set; } //总计
    }
}

基本和数据库表字段对应的,这是数据库表截图。分别对应如上。这个小查询一次性把历年所有数据都提取出来。

2.数据库取数代码

 下面是连接数据库的代码 放入List<rg>中

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Data;
using System.Data.SqlClient;
using Models;
using Oracle.ManagedDataAccess.Client;
using System.Collections;
using System.Configuration;
using System.Windows.Forms;

namespace DAL
{
   public class rgdataprocess
    {

        private jmjm objjmjm = new jmjm();

        private static string connString_ORACLE = ConfigurationManager.ConnectionStrings["connString_oracle"].ToString();


        public List<rg> Getbm()//获取部门
        {
            string xx = objjmjm.Decrypt(connString_ORACLE);

            List<rg> rgdata = new List<rg>();

            OracleConnection conn = new OracleConnection(objjmjm.Decrypt(connString_ORACLE));


            try
            {
                conn.Open();
                var cmd = conn.CreateCommand();
                cmd.CommandText = " select  *  from rg order by bmbm ";
                cmd.CommandType = CommandType.Text;
                var reader = cmd.ExecuteReader();
                while (reader.Read())
                {
                    rgdata.Add(new rg()
                    {
                        year = reader["year"].ToString(),
                        month = reader["month"].ToString(),
                        bmbm = reader["bmbm"].ToString(),
                        bmtxt = reader["bmtxt"].ToString(),
                        name = reader["name"].ToString(),
                        xc = Convert.ToDecimal(reader["xc"]),
                        wxyj = Convert.ToDecimal(reader["wxyj"]) ,
                        total = Convert.ToDecimal(reader["xc"]) + Convert.ToDecimal(reader["wxyj"])

                    });

                    

                }

            }
            catch (Exception ex)
            {
                string errorInfo = "connect GS oracle false " + ex.Message;
                throw ex;
            }
            finally
            {
                conn.Close();
            }

            return rgdata;

        }


    }

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

IT技术与企业应用结合的爱好者

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值