首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > VB Dotnet >

为什么这段代码,会消耗小弟我大量时间(5分钟以上)?

2012-02-27 
为什么这段代码,会消耗我大量时间(5分钟以上)??为什么这段代码,会消耗我大量时间(5分钟以上)??处量的记录

为什么这段代码,会消耗我大量时间(5分钟以上)??
为什么这段代码,会消耗我大量时间(5分钟以上)??处量的记录总共约15000条,ACCESS   数据库,这些表都已建立自增量的字段主键。


'开始导入数据

                                        CopyRowItem   =   DatasetInput.Tables( "Code ").Rows
                                        For   NN   =   0   To   CopyRowItem.Count   -   1
                                                CopyRow   =   DataSetBBzt.Tables( "Rep_code ").NewRow()
                                                CopyRow( "bytYear ")   =   InputYear
                                                CopyRow( "strCodeID ")   =   CopyRowItem(NN).Item( "strCodeID ")
                                                CopyRow( "strCodeName ")   =   CopyRowItem(NN).Item( "strCodeName ")
                                                CopyRow( "blnDepartment ")   =   CopyRowItem(NN).Item( "blnDepartment ")
                                                CopyRow( "blnEnd ")   =   CopyRowItem(NN).Item( "blnEnd ")
                                                CopyRow( "bytGrade ")   =   CopyRowItem(NN).Item( "bytGrade ")
                                                CopyRow( "bytClass ")   =   CopyRowItem(NN).Item( "bytClass ")
                                                CopyRow( "blnD_C ")   =   CopyRowItem(NN).Item( "blnD_C ")
                                                CopyRow( "strMeasure ")   =   CopyRowItem(NN).Item( "strMeasure ")
                                                CopyRow( "blnChange ")   =   CopyRowItem(NN).Item( "blnChange ")
                                                CopyRow( "blnChild ")   =   CopyRowItem(NN).Item( "blnChild ")


                                                CopyRow( "blnZero ")   =   CopyRowItem(NN).Item( "blnZero ")
                                                CopyRow( "sngDepre ")   =   CopyRowItem(NN).Item( "sngDepre ")
                                                CopyRow( "mnRemark ")   =   CopyRowItem(NN).Item( "mnRemark ")
                                                DataSetBBzt.Tables( "Rep_code ").Rows.Add(CopyRow)
                                        Next


                                        CopyRowItem   =   DatasetInput.Tables( "Gledger ").Rows
                                        For   NN   =   0   To   CopyRowItem.Count   -   1
                                                CopyRow   =   DataSetBBzt.Tables( "Rep_gledger ").NewRow()
                                                CopyRow( "bytYear ")   =   InputYear
                                                CopyRow( "bytPeriod ")   =   CopyRowItem(NN).Item( "bytPeriod ")
                                                CopyRow( "strCodeID ")   =   CopyRowItem(NN).Item( "strCodeID ")
                                                CopyRow( "strBeginDirection ")   =   CopyRowItem(NN).Item( "strBeginDirection ")
                                                CopyRow( "dblBeginBalance ")   =   CopyRowItem(NN).Item( "dblBeginBalance ")
                                                CopyRow( "dblDebit ")   =   CopyRowItem(NN).Item( "dblDebit ")
                                                CopyRow( "dblCredit ")   =   CopyRowItem(NN).Item( "dblCredit ")


                                                CopyRow( "strEndDirection ")   =   CopyRowItem(NN).Item( "strEndDirection ")
                                                CopyRow( "dblEndBalance ")   =   CopyRowItem(NN).Item( "dblEndBalance ")
                                                CopyRow( "dblBeginBalanceCount ")   =   CopyRowItem(NN).Item( "dblBeginBalanceCount ")
                                                CopyRow( "dblDebitCount ")   =   CopyRowItem(NN).Item( "dblDebitCount ")
                                                CopyRow( "dblCreditCount ")   =   CopyRowItem(NN).Item( "dblCreditCount ")
                                                CopyRow( "dblEndBalanceCount ")   =   CopyRowItem(NN).Item( "dblEndBalanceCount ")
                                                DataSetBBzt.Tables( "Rep_gledger ").Rows.Add(CopyRow)
                                        Next

                                        WaitClear(Me)
'保存数据
                                        WaitWindow(Me,   "正在保存财务数据,请稍等... ")
                                        Try
                                                OleDbDataAdapterRep_code.Update(DataSetBBzt,   "Rep_code ")
                                                OleDbDataAdapterRep_gledger.Update(DataSetBBzt,   "Rep_gledger ")
                                              MsgBox( "已正确导入帐套资料! ",   MsgBoxStyle.Information,   "提示信息 ")
                                        Catch   ex   As   Exception
                                                MsgBox(ex.Message,   MsgBoxStyle.Information,   "导入失败 ")


                                        Finally
                                        End   Try

[解决办法]
这种方法保存数据一般都比较慢
你的情况我也遇到过,改成用普通的INSERT来保存速度就快很多了
还有,你也可以把数据读到本机上再进行处理,减少数据在网络之间的传输时间

热点排行