Foxtable(狐表)用户栏目专家坐堂 → [求助]批量更新表中某一字段问题


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

主题:[求助]批量更新表中某一字段问题

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


加好友 发短信
等级:四尾狐 帖子:995 积分:6712 威望:0 精华:0 注册:2015/1/12 22:12:00
[求助]批量更新表中某一字段问题  发帖心情 Post By:2017/6/8 13:32:00 [只看该作者]

请教老师,看看下面代码有什么问题

代码在DataColChanged事件中

            Dim biaoming As String = e.DataRow("表名称")
            Dim lieming As String = e.DataRow("字段名称") 
            Dim cmd As new SQLCommand
            cmd.ConnectionName = gs_strActiveConn
            cmd.CommandText="se lect _Identify," & lieming & " from " & biaoming
            Dim dt As DataTable = cmd.ExecuteReader(True)
            If dt.DataRows.Count > 0 Then
                Forms("提示窗口").Visible = True
                Dim p As WinForm.ProgressBar = Forms("提示窗口").Controls("Bar1")
                p.Visible = True
                p.Maximum =dt.DataRows.Count '设置最大值
                p.Minimum = 0 '设置最小值
                p.Value = 0 '设置当前值
                Dim j As Integer =0
                Dim str As String = ""
                _KQSJ = False
                For Each dr As DataRow In dt.DataRows
                    If e.OldValue = "" Then
                        str = e.NewValue & dr(lieming)
                    Else
                        str = dr(lieming).Replace(e.OldValue,e.NewValue)
                    End If
                    dr(lieming) = str
                    j=j+1
                    p.Value = j
                Next
                _KQSJ = True
                dt.Save()
                p.Visible = False
                Forms("提示窗口").Visible = False
            End If
            If DataTables.Contains(e.DataRow("表名称")) = True Then
                DataTables(e.DataRow("表名称")).Load
            End If

dt有5000条记录,不执行红色部分代码时,运行很快结束,包括红色部分代码时,进度条只显示一点就停了,整个运行过程要十多分钟才结束,请老师看看有什么问题?

 回到顶部