大家好,这是我的第一篇学习日记,实习第一个月也即将结束,想留下些什么,记录些知识。在Visual Studio 2019(窗体应用)中连接本地数据库(没有用户名没有密码)语句:
    SqlConnection SqlConn = new SqlConnection(“Server=localhost;database=rkcslqy;integrated security=sspi”);
    连接后记得打开数据库(SqlConn.Open();),关闭数据库(SqlConn.Close();)
    在窗体应用中工具箱里有个DataGridView,刷新新增的数据代码:
    string str = “selecta.drkrq,a.crkdh,a.cgys,b.ccpmc,b.ccpbh,b.cguig,b.czdw,b.cckmc,b.nshul,b.ndanj,b.njine,a.nsl,a.cbeiz “ +”from CS_RKD a join CS_RKMX b on a.crkdh = b.crkdh “;
    SqlCommand cmd = new SqlCommand(str, SqlConn);
    SqlDataAdapter da = new SqlDataAdapter(cmd);//创建DataAdapter数据适配器实例
    DataSet ds = new DataSet();//创建DataSet实例
    da.Fill(ds);//使用DatatAdapter的Fill方法(填充)
    dgvmx.DataSource = ds.Tables[0];

    在来点数据库的知识
    得知某个日期,若日期要小于当月的26号,则取上个月的26号到当月的25号;若日期大于等于当月的26号,则取当月的26号到下月的25号
    Select CONVERT(char(8),DATEADD(m,-1,GETDATE()),121)+’26’,CONVERT(char(8),GETDATE(),121)+’25’
    where day(GETDATE())<26

    Select CONVERT(char(8),GETDATE(),121)+’26’,CONVERT(char(8),DATEADD(m,1,GETDATE()),121)+’25’
    where day(GETDATE())>=26
    图片.png因为取的时间是GETDATE(),今天的日期是2021-03-24

    有一个日期,得上个月的最后一天、这个月的最后一天、下个月的最后一天
    select convert(char(10),dateadd(dd,-1,convert(char(8),getdate(),120)+’1’),120)
    select convert(char(10),dateadd(dd,-1,convert(char(8),dateadd(m,1,getdate()),120)+’1’),120)
    select convert(char(10),dateadd(dd,-1,convert(char(8),dateadd(m,2,getdate()),120)+’1’),120)
    图片.png
    Convert()和dateadd()可以百度了解下里面参数的意义,在此不过多介绍。

    一个时间段,取在这之间在职过的人
    图片.png
    有6中可能,取其中四种,画图比较好理解,
    图片.png
    圆圈代表入职,叉叉代表离职,declare是用来申明时间,方便改动时间,其中如果入职时间为空就不考虑了。

    好了,谢谢看完,学习是个很漫长的过程,我们一起慢慢吸收知识吧!