以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- 帮我看一下这个个代码错在哪里 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=82346) |
||||
-- 作者:荟美绘姿 -- 发布时间:2016/3/16 11:40:00 -- 帮我看一下这个个代码错在哪里 If e.Form.Controls("TextBox6").Text = "" Then
我的要求是在 \'以上代码为照片指定存储文件夹及照片文件名改名
当在“wztz”表内新增时"cljbqh_cphm"、“cljbqh_cpys"与"bmd"中有"cphm"、“cpys”进行比对,如果“bmd”表中有就不新增,反之没有就新增 请大侠帮忙解决一下下 |
||||
-- 作者:大红袍 -- 发布时间:2016/3/16 12:51:00 -- Dim i As Integer For i = DataTables("wztz").DataRows.Count-1 To 0 Step -1 Dim dr As DataRow = DataTables("wztz").DataRows(i) Dim dr2 As DataRow = DataTables("bmd").Find("cljbqh_cphm=\'" & dr("cphm") & "\' and cpys=\'" & dr("cljbqh_cpys") & "\'") If dr2 IsNot Nothing Then dr2.Delete End If Next |
||||
-- 作者:荟美绘姿 -- 发布时间:2016/3/17 12:36:00 -- If e.Form.Controls("TextBox6").Text = "" Then
上面中间的这段代码为何无法实现 Dim r As Integer 如果r改成i就会报错 [此贴子已经被作者于2016/3/17 12:37:21编辑过]
|
||||
-- 作者:大红袍 -- 发布时间:2016/3/17 14:34:00 -- For i As Integer = DataTables("bmd").DataRows.Count-1 To 0 Step -1 Dim dr As DataRow = DataTables("bmd").DataRows(i) Dim dr2 As DataRow = DataTables("wztz").Find("cljbqh_cphm=\'" & dr("cphm") & "\' and cljbqh_cpys=\'" & dr("cpys") & "\'") If dr2 IsNot Nothing Then dr2.Delete End If Next DataTables("wztz").ReplaceFor("_Locked",True,"") |
||||
-- 作者:荟美绘姿 -- 发布时间:2016/3/17 22:08:00 --
还是不能执行这段代码,请大侠帮忙解决一下下 要求:在WZTZ表内新增时先与BMD表内的CPHM与CPYS进行比对,如果BMD中有的话就不在WZTZ表内新增,或者就删除当前新增的行 |
||||
-- 作者:大红袍 -- 发布时间:2016/3/17 22:52:00 -- For i As Integer = DataTables("wztz").DataRows.Count-1 To 0 Step -1 Dim dr As DataRow = DataTables("wztz").DataRows(i) Dim dr2 As DataRow = DataTables("bmd").Find("cphm=\'" & dr("cljbqh_cphm") & "\' and cpys=\'" & dr("cljbqh_cpys") & "\'") If dr2 IsNot Nothing Then dr.Delete End If Next |
||||
-- 作者:荟美绘姿 -- 发布时间:2016/3/18 0:02:00 -- 你这个代码只会将BMD中的数据删了 |
||||
-- 作者:狐狸爸爸 -- 发布时间:2016/3/18 8:34:00 -- 这种业务逻辑的问题,应该自己分析。
先看你的逻辑:
当在“wztz”表内新增时"cljbqh_cphm"、“cljbqh_cpys"与"bmd"中有"cphm"、“cpys”进行比对,如果“bmd”表中有就不新增,反之没有就新增。
再看你的代码:
Dim i As Integer
逻辑很简单,但是这代码和逻辑能对上吗?哪里有逻辑中提到的新增呢?我看到的是“有就删除”,而不是“没有就增加”。
按照你的问题,不应该是这样的吗:
Dim i As Integer dr2("cljbqh_cphm") = dr("cphm") dr2("cljbqh_cpys") = dr("cpys")
还有,两个不同的表,比较Identify是没有意义的,Identify是自动生成的,不需要比较,所以按照你的问题逻辑,应该:
Dim i As Integer dr2("cljbqh_cphm") = dr("cphm") dr2("cljbqh_cpys") = dr("cpys")
个人觉得,你原来代码中,其他比较不同表的Identify的代码,都应该去掉。 [此贴子已经被作者于2016/3/18 8:38:02编辑过]
|