求一个往数据库里面插入数据的小程序
求一个往数据库里面插入数据的小程序!如:将2012-2017年的每一天都插入到一张数据表中,主要字段有year(年)、month(月)、day(日)、date(日期)、week(星期几)、weeks(那一天是那年中的第几周)、isrestday(是否为周六、周日,如果是周六或者周日用0表示,不是周六周日用1表示)。
[解决办法]
太太太太太复杂了。
好多好多数据哦。。。帮你顶吧。
[解决办法]
一年365天(不计闰年的情况),共6年,也就是2000多条数据。
至于下面的算法都是很简单的,楼主可以自己尝试着做,哪里不会了再贴出来。
把数据填充成一条记录后,循环插入就可以了,记得带事务功能!
[解决办法]
private void button1_Click(object sender, EventArgs e) { DataTable dt = new DataTable(); dt.Columns.Add("year"); dt.Columns.Add("month"); dt.Columns.Add("day"); dt.Columns.Add("date"); dt.Columns.Add("week"); dt.Columns.Add("weeks"); dt.Columns.Add("isrestday"); DateTime beginTime = new DateTime(2012,01,01); DateTime endTime = new DateTime(2017, 01, 01); TimeSpan days = endTime - beginTime; for (int i = 0; i < days.Days; i++) { DateTime date = beginTime.AddDays(i); DataRow dr = dt.NewRow(); dr["year"] = date.Year; dr["month"] = date.Month; dr["day"] = date.Day; dr["date"] = date.Date; dr["week"] = date.DayOfWeek; dr["weeks"] = GetWeekIndex(date.Date); if (date.DayOfWeek==DayOfWeek.Saturday||date.DayOfWeek==DayOfWeek.Sunday) { dr["isrestday"] = "0"; } else { dr["isrestday"] = "1"; } dt.Rows.Add(dr); } this.dataGridView1.DataSource = dt; } /// <summary> /// 获取当前日期是一年中的第几周,如果12月31号与下一年的1月1好在同一个星期则算下一年的第一周 /// </summary> /// <param name="dt"></param> /// <returns></returns> public static int GetWeekIndex(DateTime dt) { //确定此时间在一年中的位置 int dayOfYear = dt.DayOfYear; //当年第一天 DateTime tempDate = new DateTime(dt.Year, 1, 1); //确定当年第一天 int tempDayOfWeek = (int)tempDate.DayOfWeek; tempDayOfWeek = tempDayOfWeek == 0 ? 7 : tempDayOfWeek; //确定星期几 int index = (int)dt.DayOfWeek; index = index == 0 ? 7 : index; //当前周的范围 DateTime retStartDay = dt.AddDays(-(index - 1)); DateTime retEndDay = dt.AddDays(7 - index); //确定当前是第几周 int weekIndex = (int)Math.Ceiling(((double)dayOfYear + tempDayOfWeek - 1) / 7); if (retStartDay.Year < retEndDay.Year) { weekIndex = 1; } return weekIndex; }
[解决办法]
declare @start datetimedeclare @end datetimeset @start = '2012-01-01' set @end = '2014-01-01'while ( @start < @end )begin print str(year(@start )) + str( month( @start) ) + str( day( @start ) ) +' ' + CONVERT(varchar (10), @start, 120 ) + ' ' + datename( w,@start) + str ( datename( week, @start )) + ' ' + (case when datepart(dw,@start)=1 or datepart(dw,@start)=7 then '0' else '1' end ) set @start = dateadd(day,1,@start ) end
[解决办法]