Rss & SiteMap

Foxtable(狐表) http://www.foxtable.com

新一代数据库软件,完美融合Access、Foxpro、Excel、vb.net之优势,人人都能掌握的快速软件开发工具!
共2 条记录, 每页显示 10 条, 页签: [1]
[浏览完整版]

标题:刷卡筛选条件BUG

1楼
youyuweinihao 发表于:2011/8/10 21:21:00

还是上午的问题结合附件,Textbox1的CURRENTCHANGED时间代码如下: 

出现BUG:如果有一次刷卡会员卡号符合条件“Drw = DataTables("服务包明细").AddNew()”得到执行,那么后面接着刷卡即使卡号不符合dr2条件AddNew还是同样执行。怎么处理???

Dim v As String = e.sender.value
Dim dr1 As DataRow = DataTables("客户信息").Find("会员卡号 = "  & v)
If dr1 IsNot Nothing Then
       v = e.Form.Controls("ComboBox5").Value
    Dim dr2 As DataRow = DataTables("服务包明细").Find("服务名称 = '" & v & "' And 拥有次数 > 0" )
    If dr2 IsNot Nothing Then
       Dim drw As DataRow
              Drw = DataTables("服务包明细").AddNew()

          Else MessageBox.Show("请购买该服务!", "提示")

             
    End If
    Else MessageBox.Show("请先购买会员卡!", "提示")
End If
e.Form.Controls("TextBox1").value = Nothing
e.Form.Controls("textbox1").Select()

 下载信息  [文件大小:   下载次数: ]
点击浏览该文件:新建文件夹.rar

2楼
狐狸爸爸 发表于:2011/8/10 21:32:00

说明你代码的逻辑有问题。

你查询dr2的条件是: "服务名称 = '" & v & "' And 拥有次数 > 0"

即使你增加一行: Drw = DataTables("服务包明细").AddNew()

新增行也不影响查询查询条件的成立啊,所以第一次刷卡增加行的话,第二次刷卡肯定还会增加行。

 

先理清楚其中的逻辑关系再提问吧,这种关系只有你自己清楚,别人无能为力的。

共2 条记录, 每页显示 10 条, 页签: [1]

Copyright © 2000 - 2018 foxtable.com Tel: 4000-810-820 粤ICP备11091905号

Powered By Dvbbs Version 8.3.0
Processed in .01563 s, 3 queries.