c# 关于循环插入数据的问题 下面贴上代码
    AD_DataSoure.StartYear = dateTimeStart.Value.Year;//开始年份
                AD_DataSoure.StartMont = dateTimeStart.Value.Month;//开始月份
                AD_DataSoure.StartDate = dateTimeStart.Value.Day;//开始天数
                AD_DataSoure.EndYear = dateTimeEnd.Value.Year;//结束年份
                AD_DataSoure.EndMont = dateTimeEnd.Value.Month;//结束月份
                AD_DataSoure.EndDate = dateTimeEnd.Value.Day;//结束日数
                DialogResult result = MessageBox.Show("开始时间:   " + dateTimeStart.Text + "\n" + "结束时间:   " + dateTimeEnd.Text + "\n" + "共计:  " + days + "天" +"\n" +"监测类型:"+comMonitorType.Text, "信息确认", MessageBoxButtons.YesNo, MessageBoxIcon.Asterisk);
                if (wave == "0")//非毫米
                {
                    if (comMonitorType.Text == "表面位移")
                    {
                        int yue = 1;//1月30天
                        Random rnd = new Random();
                        for (int i = AD_DataSoure.StartDate; i <= 30; i++)
                        {
                            int honor = 0;//从0点开始
                            for (int j = 0; j <= 23; j++)//一天24小时
                            {
                                string  num = AD_ReturnRandom.ReturnNumber(txt1.Text.Trim(), txt2.Text.Trim());
                                string num1 = AD_ReturnRandom.ReturnNumber(txtv2d.Text.Trim(), txtv2x.Text.Trim());
                                string num2= AD_ReturnRandom.ReturnNumber(txtv3d.Text.Trim(), txtv3x.Text.Trim());
                                string sql = string.Format(@"insert  into [SURF_DeviceDataHist]
                                                            (DeviceID,DeviceDataTypeID,V1,V2,V3,DacTime)
                                                            values('{0}',7,'{1}','{2}','{3}',{4}-{5}-{6} {7}:00:00')",
                                    txtDevice.Text.Trim(), num, num1, num2, AD_DataSoure.StartYear, AD_DataSoure.StartMont,honor);
                                SqlHelper.ExecuteSql(sql);
                                honor++;
                            }
                            yue++;
                        }
                    }   

两个datetimepicker控件 一个是开始时间 一个是结束时间
比如我选择开始时间是2017-01-02 结束时间是2017-07-20
那么从2017-01-02 00:00:00 起 每小时起往数据库插入一条数据 一直插到2017-07-20 23:00:00

2个回答

for (DateTime dt = dateTimeStart.Value; dt < dateTimeEnd.Value; dt = dt.AddHours(1))
{
插入数据
}

showbo
支付宝加好友偷能量挖,胡杨等着我的招呼 回复小菜来袭: caozhy这个简单明了啊,直接操作时间对象+1个小时就行了。。。
3 年多之前 回复
caozhy
回答这么多问题就耍赖把我的积分一笔勾销了 回复小菜来袭: 你试试看
3 年多之前 回复
u011954277
小菜来袭 还有插入数据那里 需要插人时间 例2017-07-01 12:00:00 下一个小时就是2017-07-01 13:00:00 到23:00:00就是下一天
3 年多之前 回复
caozhy
回答这么多问题就耍赖把我的积分一笔勾销了 回复小菜来袭: 和每月的天数没有关系
3 年多之前 回复
u011954277
小菜来袭 就这么简单? 每月的天数不一样可以判断吗
3 年多之前 回复

插入大量数据这样循环插入的效率是很低的,每插入一次就得访问一次数据库连接,假如你要插入1000条,那就是要循环1000次啊,建议你把要插入的数据
先整理好,然后可以转成XML格式再一次性全部传入,用存储过程,这样的效率会高很多

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问
相关内容推荐