Foxtable(狐表)用户栏目专家坐堂 → 保存按钮的的保存速度问题


  共有3444人关注过本帖树形打印复制链接

主题:保存按钮的的保存速度问题

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


加好友 发短信
等级:童狐 帖子:228 积分:2057 威望:0 精华:0 注册:2017/8/18 17:51:00
保存按钮的的保存速度问题  发帖心情 Post By:2019/1/4 16:15:00 [只看该作者]

数据库采用access,目前数据库有2万多条记录,当点击保存按钮非常慢,有时超过5秒。请问以下代码能怎么优化提高效率。
按钮1代码:

Dim rq As String = e.Form.Controls("DateTimePicker1").Value

Dim cpxh As String = e.Form.Controls("dropbox2").Value

Dim dj As String = e.Form.Controls("textbox5").Value

Dim sl As String = e.Form.Controls("NumericComboBox2").Value

If rq = "" Then

    MessageBox.Show("请输入销售日期,不能为空!", "错误提示")

ElseIf cpxh = "" Then

    MessageBox.Show("The product model cannot be empty,please enter产品型号不能为空,请输入!", "错误提示")

ElseIf sl = "" Then

    MessageBox.Show("The quantity cannot be empty,please enter(请输入数量,不能为空!)", "错误提示")

Else

    Dim tbl As Table = Tables("销售明细表")

    Dim r As Row = tbl.AddNew()

    r("订单号") = e.Form.Controls("TextBox2").Text

    r("产品型号") = e.Form.Controls("dropbox2").Text

    r("产品类别") = e.Form.Controls("产品类别").Text

    r("单价成本") = e.Form.Controls("单价成本").Text

    r("销售单价") = e.Form.Controls("TextBox5").Text

    r("数量") = e.Form.Controls("NumericComboBox2").Text

    If e.Form.Controls("NumericComboBox1").Value <> 0 Then

        Dim r1 As Row = Tables("订单出库明细表").AddNew

        r1("提货日期") = e.Form.Controls("datetimepicker1").Text

        r1("订单号") = e.Form.Controls("TextBox2").Text

        r1("产品型号") = e.Form.Controls("dropbox2").Text

        r1("数量") = e.Form.Controls("NumericComboBox2").Text

        r1("已提数量") = e.Form.Controls("NumericComboBox1").Text

    End If

End If

 

e.Form.Controls("DropBox2").Value= ""

e.Form.Controls("textbox5").Value= ""

e.Form.Controls("NumericComboBox2").Value = ""

e.Form.Controls("未提数量").Text = ""

销售明细表和订单出库明细表通过订单号关联


按钮2代码:

Dim fs As String = e.Form.Controls("ComboBox1").Value

If fs = "" Then

    MessageBox.Show("The payment cannot be empty,please enter 支付方式不能为空,请输入!", "错误提示")

    Return

End If


Dim dr As Row = Tables("销售订单").Current

If dr IsNot Nothing AndAlso dr.DataRow.RowState = DataRowState.Added Then

    If Tables("销售明细表").Current Is Nothing Then

        MessageBox.Show("No details cannot be saved 无订单明细,无法保存!", "Error 错误提示")

        dr.Delete

    Else

        dr("客户名称") = e.Form.Controls("DropBox3").Text

        dr("客户电话") = e.Form.Controls("DropBox1").Text

        dr("折扣") = e.Form.Controls("TextBox3").Text

        dr("备注") =dr("备注") & vbcrlf & e.Form.Controls("TextBox4").Text

        dr.Save

        Tables("销售订单").AllowEdit = False

        Tables("销售明细表").save

        Tables("订单出库明细表").Save

    End If

End If


If User.Group <> "经理" Then

    e.Form.Controls("textbox9").text = 0

End If


If e.Form.Controls("TextBox9").Value <> 0 Then

    Dim tbl As Table = Tables("订单付款明细表")

    Dim r As Row = tbl.AddNew()

    r("付款日期") = e.Form.Controls("datetimepicker1").Text

    r("订单号") = e.Form.Controls("TextBox2").Text

    r("付款金额") = e.Form.Controls("TextBox9").Text

    r("付款方式") = e.Form.Controls("ComboBox1").Text

    If tbl.Current IsNot Nothing Then

        tbl.Current.Save()

    End If

End If


Dim khmc As WinForm.DropDownBox = e.Form.Controls("DropBox3")

Dim khdh As WinForm.DropDownBox = e.Form.Controls("DropBox1")

Dim zk As WinForm.TextBox = e.Form.Controls("textbox3")

Dim cpxh As WinForm.DropDownBox = e.Form.Controls("DropBox2")

Dim sl As WinForm.NumericComboBox = e.Form.Controls("NumericComboBox2")

Dim dj As WinForm.TextBox = e.Form.Controls("textbox5")

Dim sfje As WinForm.TextBox = e.Form.Controls("textbox9")

Dim ytsl As WinForm.NumericComboBox = e.Form.Controls("NumericComboBox1")

Dim bz As WinForm.TextBox = e.Form.Controls("textbox4")

Dim zffs As WinForm.ComboBox = e.Form.Controls("ComboBox1")

khmc.Text = ""

khdh.Text = ""

cpxh.Text = ""

sl.Text = ""

dj.Text = ""

sfje.Text = ""

zk.Text = "0"

ytsl.Text = ""

bz.Text = ""

zffs.Text = "Cash"


Dim t As Table = Tables("销售主界面_Table2")

With Tables("销售订单")

    If .Current Is Nothing Then

        t.Filter = "False"

    Else

        t.Filter = "订单号 = '" & .Current("订单号") & "'"

    End If

End With


With Tables("销售明细表")

    Tables("销售明细表").Filter = "1=2"

    .Cols("数量").GrandTotal = True

    .Cols("金额").GrandTotal = True

    .GrandTotal = False

End With


Dim xzcp As WinForm.Button = e.Form.Controls("新增产品")

xzcp.Enabled = False

Dim bc As WinForm.Button = e.Form.Controls("保存")

bc.Enabled = False

销售订单和销售明细表通过订单号关联,销售订单和订单付款明细通过订单号关联。



 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2019/1/4 16:26:00 [只看该作者]

 

保存多少行数据?如果保存的数据量大,耗时是肯定的。

 

或者看看 http://www.foxtable.com/bbs/dispbbs.asp?BoardID=2&ID=98689&replyID=680089&skin=1

 


 回到顶部
帅哥哟,离线,有人找我吗?
whx007
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:童狐 帖子:228 积分:2057 威望:0 精华:0 注册:2017/8/18 17:51:00
  发帖心情 Post By:2019/1/4 17:13:00 [只看该作者]

大多数情况下每次少于10行,通常就是4-5行一次。
甜老师,你给的例子下载来我打不开,我是开发版,不能打开非开发版本的项目。

还有一个问题是,局域网使用的时候也很慢,数据库保存在A电脑上,A共享数据库给B,C电脑,B,C电脑在保存的时候非常慢,保存的速度完全不能接受。

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2019/1/4 17:28:00 [只看该作者]

1、做一个对应的实例发上来测试;

 

2、你在下载开发版的地方,下载一个商业版安装使用。


 回到顶部
帅哥哟,离线,有人找我吗?
whx007
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:童狐 帖子:228 积分:2057 威望:0 精华:0 注册:2017/8/18 17:51:00
  发帖心情 Post By:2019/1/7 1:27:00 [只看该作者]

这两天上传不了附件,这么回事

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2019/1/7 9:31:00 [只看该作者]

以下是引用whx007在2019/1/7 1:27:00的发言:
这两天上传不了附件,这么回事

 

文件大小不能超过2M,用ie浏览器访问论坛再上传。

 


 回到顶部
帅哥哟,离线,有人找我吗?
whx007
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:童狐 帖子:228 积分:2057 威望:0 精华:0 注册:2017/8/18 17:51:00
  发帖心情 Post By:2019/1/7 14:46:00 [只看该作者]

使用的是ie浏览器,点击添加附件没有任何反应,没有弹窗出来.

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2019/1/7 15:26:00 [只看该作者]

以下是引用whx007在2019/1/7 14:46:00的发言:
使用的是ie浏览器,点击添加附件没有任何反应,没有弹窗出来.

 

试试ie里面的兼容模式。


 回到顶部
帅哥哟,离线,有人找我吗?
whx007
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:童狐 帖子:228 积分:2057 威望:0 精华:0 注册:2017/8/18 17:51:00
  发帖心情 Post By:2019/1/7 15:30:00 [只看该作者]


甜老师,这是实例,帮我测试一下代码,测试方法:


图片点击可在新窗口打开查看此主题相关图片如下:qq截图20190104230139.png
图片点击可在新窗口打开查看
1:点击按钮1新增订单,填入name,cell,model产品型号,quanty数量,再点2 add product

2:重复填入name,cell,model产品型号,quanty数量,再点2 add product,5-6次

3:点击3save

 

现在数据库2万行,点击按钮2和3越来越慢

[此贴子已经被作者于2019/1/9 4:08:52编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  10楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2019/1/7 15:46:00 [只看该作者]

具体项目和数据一起发上来测试。

 回到顶部
总数 17 1 2 下一页