以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- [求助] 代码错误 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=162411) |
-- 作者:sanny -- 发布时间:2021/4/13 21:08:00 -- [求助] 代码错误 老师,以下黄色代码错在哪儿了,明明有找到记录的,就是中跳出以下IF If e.Col.Name = "Priority" Then Dim cmd As new SQLCommand Dim dt As DataTable cmd.CommandText = "Se lect * From {t_SupplyEntry} Where FItemID = \'" & e.Row ("FItemID") & "\'and FPrioritized = 1" cmd.C Dim Values = cmd.ExecuteValues If Values.Count > 0 Then dt = cmd.ExecuteReader(True) Dim ffdr As DataRow = dt.Find("FItemID=" & e.Row("FItemID") & "") If ffdr Is Nothing Then If MessageBox.Show("该产品已经设定过优先次序了,是否需要把原来的优先次序去除,重新设定当前产品为订单优先 ?","提示",MessageBoxButtons.YesNo,MessageBoxIcon.Question) = DialogResult.Yes Then ffdr("FPrioritized") = 0 e.Row("Priority") = True Else e.Row("Priority") = False End If dt.Save() End If End If End If |
-- 作者:有点蓝 -- 发布时间:2021/4/13 21:12:00 -- Dim ffdr As DataRow = dt.Find("FItemID=\'" & e.Row("FItemID") & "\'") |
-- 作者:sanny -- 发布时间:2021/4/13 21:26:00 -- 这个也试过了,还是没有反应 |
-- 作者:sanny -- 发布时间:2021/4/13 21:31:00 -- 如果改成以下,找到后有出现提示如果找到,但是 Values("FPrioritized") = 0 没有变更过来 If e.Col.Name = "Priority" Then Dim cmd As new SQLCommand Dim dt As DataTable cmd.CommandText = "Se lect * From {t_SupplyEntry} Where FItemID = \'" & e.Row ("FItemID") & "\'and FPrioritized = 1" cmd.C Dim Values = cmd.ExecuteValues If Values.Count > 0 Then dt = cmd.ExecuteReader(True) If MessageBox.Show("该产品已经设定过优先次序了,是否需要把原来的优先次序去除,重新设定当前产品为订单优先 ?","提示",MessageBoxButtons.YesNo,MessageBoxIcon.Question) = DialogResult.Yes Then Values("FPrioritized") = 0 e.Row("Priority") = True Else e.Row("Priority") = False End If dt.Save() End If End If |
-- 作者:有点蓝 -- 发布时间:2021/4/13 21:51:00 -- If e.Col.Name = "Priority" Then Dim cmd As new SQLCommand Dim dt As DataTable cmd.CommandText = "Se lect * From {t_SupplyEntry} Where FItemID = \'" & e.Row ("FItemID") & "\'and FPrioritized = 1" cmd.C dt = cmd.ExecuteReader(True) If dt .datarows.Count > 0 Then If MessageBox.Show("该产品已经设定过优先次序了,是否需要把原来的优先次序去除,重新设定当前产品为订单优先 ?","提示",MessageBoxButtons.YesNo,MessageBoxIcon.Question) = DialogResult.Yes Then dt .datarows(0)("FPrioritized") = 0 dt.Save() e.Row("Priority") = True Else e.Row("Priority") = False End If End If End If
|
-- 作者:sanny -- 发布时间:2021/4/14 21:58:00 -- 谢谢,老师, dt .datarows.Count > 0 Then 这个可以找出好多条记录,把找到的所有的记录改做这样的修改 dt .datarows(0)("FPrioritized") = 0。 现只可更改一笔记录。谢谢。 |
-- 作者:有点蓝 -- 发布时间:2021/4/15 9:05:00 -- 遍历所有行:http://www.foxtable.com/webhelp/topics/0419.htm |
-- 作者:sanny -- 发布时间:2021/4/15 19:44:00 -- 老师,如下有点不对,请指正,谢谢。 If dt.datarows.Count > 0 Then If MessageBox.Show("该产品已经设定过优先次序了,是否需要把原来的优先次序去除,重新设定当前产品为订单优先 ?","提示",MessageBoxButtons.YesNo,MessageBoxIcon.Question) = DialogResult.Yes Then For Each dr As DataRow In Dt.DataRows dt.datarows(0)("FPrioritized") = 0 dt.Save() e.Row("Priority") = True Next Else e.Row("Priority") = False End If End If End If |
-- 作者:有点蓝 -- 发布时间:2021/4/15 20:23:00 -- For Each dr As DataRow In Dt.DataRows dr("FPrioritized") = 0 e.Row("Priority") = True Next dt.Save()
|