Foxtable(狐表)用户栏目专家坐堂 → [求助]关于行列转换效率的问题


  共有3863人关注过本帖平板打印复制链接

主题:[求助]关于行列转换效率的问题

帅哥哟,离线,有人找我吗?
cat88hzh
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:72 积分:689 威望:0 精华:0 注册:2013/5/10 13:23:00
[求助]关于行列转换效率的问题  发帖心情 Post By:2014/3/11 16:47:00 [只看该作者]

各位大虾,我有一段这样的代码把12个月的表数据行列转换到另一个表的两个月份和数据字段中

For Each dr1 As DataRow In DataTables("GL_Budget_Definition").DataRows
    For m As Integer = 1 To 12
        Dim dr As DataRow = DataTables("HZH_GL_ALL_BUDGET").AddNew
        Select Case m
            Case 1
                dr("BUDGET_NO") = dr1("Budget_no")
                dr("DESCRIPTION") = dr1("Description")
                dr("DEPT") = dr1("Dept")
                dr("YEAR") = dr1("Year")
                dr("VERSION") = dr1("Version")
                dr("MONTH") = "Jan"                ’其它都一样就这两句不同的
                dr("AMONTS") = dr1("Jan")

            Case 2
                dr("BUDGET_NO") = dr1("Budget_no")
                dr("DESCRIPTION") = dr1("Description")
                dr("DEPT") = dr1("Dept")
                dr("YEAR") = dr1("Year")
                dr("VERSION") = dr1("Version")
                dr("MONTH") = "Feb"
                dr("AMONTS") = dr1("Feb")

            Case 3
                dr("BUDGET_NO") = dr1("Budget_no")
                dr("DESCRIPTION") = dr1("Description")
                dr("DEPT") = dr1("Dept")
                dr("YEAR") = dr1("Year")
                dr("VERSION") = dr1("Version")
                dr("MONTH") = "Mar"
                dr("AMONTS") = dr1("Mar")
            Case 4
                dr("BUDGET_NO") = dr1("Budget_no")
                dr("DESCRIPTION") = dr1("Description")
                dr("DEPT") = dr1("Dept")
                dr("YEAR") = dr1("Year")
                dr("VERSION") = dr1("Version")
                dr("MONTH") = "Apr"
                dr("AMONTS") = dr1("Apr")
            Case 5
                dr("BUDGET_NO") = dr1("Budget_no")
                dr("DESCRIPTION") = dr1("Description")
                dr("DEPT") = dr1("Dept")
                dr("YEAR") = dr1("Year")
                dr("VERSION") = dr1("Version")
                dr("MONTH") = "May"
                dr("AMONTS") = dr1("May")
            Case 6
                dr("BUDGET_NO") = dr1("Budget_no")
                dr("DESCRIPTION") = dr1("Description")
                dr("DEPT") = dr1("Dept")
                dr("YEAR") = dr1("Year")
                dr("VERSION") = dr1("Version")
                dr("MONTH") = "Jun"
                dr("AMONTS") = dr1("Jun")
            Case 7
                dr("BUDGET_NO") = dr1("Budget_no")
                dr("DESCRIPTION") = dr1("Description")
                dr("DEPT") = dr1("Dept")
                dr("YEAR") = dr1("Year")
                dr("VERSION") = dr1("Version")
                dr("MONTH") = "Jul"
                dr("AMONTS") = dr1("Jul")
            Case 8
                dr("BUDGET_NO") = dr1("Budget_no")
                dr("DESCRIPTION") = dr1("Description")
                dr("DEPT") = dr1("Dept")
                dr("YEAR") = dr1("Year")
                dr("VERSION") = dr1("Version")
                dr("MONTH") = "Aug"
                dr("AMONTS") = dr1("Aug")
            Case 9
                dr("BUDGET_NO") = dr1("Budget_no")
                dr("DESCRIPTION") = dr1("Description")
                dr("DEPT") = dr1("Dept")
                dr("YEAR") = dr1("Year")
                dr("VERSION") = dr1("Version")
                dr("MONTH") = "Sep"
                dr("AMONTS") = dr1("Sep")
            Case 10
                dr("BUDGET_NO") = dr1("Budget_no")
                dr("DESCRIPTION") = dr1("Description")
                dr("DEPT") = dr1("Dept")
                dr("YEAR") = dr1("Year")
                dr("VERSION") = dr1("Version")
                dr("MONTH") = "Oct"
                dr("AMONTS") = dr1("Oct")
            Case 11
                dr("BUDGET_NO") = dr1("Budget_no")
                dr("DESCRIPTION") = dr1("Description")
                dr("DEPT") = dr1("Dept")
                dr("YEAR") = dr1("Year")
                dr("VERSION") = dr1("Version")
                dr("MONTH") = "Nov"
                dr("AMONTS") = dr1("Nov")
            Case 12
                dr("BUDGET_NO") = dr1("Budget_no")
                dr("DESCRIPTION") = dr1("Description")
                dr("DEPT") = dr1("Dept")
                dr("YEAR") = dr1("Year")
                dr("VERSION") = dr1("Version")
                dr("MONTH") = "Dec"
                dr("AMONTS") = dr1("Dec")
        End Select

        DataTables("HZH_GL_ALL_BUDGET").Load '因为我是oracle数据库,用触发器做的主键ID,没插入一行才能触发一次ID,不然会报错,所以要加这一句同步的代码才行,感觉插入了900行要4秒钟,请问是否有高级的方法,可以价快速的?

    Next
Next



 回到顶部