以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  关于批量修改问题  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=146792)

--  作者:lgz518
--  发布时间:2020/3/2 16:25:00
--  关于批量修改问题
表类型:SQLTable

1. 以下代码运行后都是从后台操作,如何实现窗口显示,当前表操作?

DataTables("订单登记明细").DeleteFor("选中= True"):帮助说是前台,但执行效果与后台一样

Dim cnt As Integer
cnt = DataTables("订单登记明细").SQLDeleteFor("选中= True")  帮助说是后台
Output.Show("合计删除了" & cnt & "条记录!")

2.以下代码报错,说找不到,如何实现窗口显示,当前表操作?

For Each dr As DataRow In DataTables("订单登记明细").Select("[数量] > TextBox1 ")
    dr("备注") = e.Form.Controls("TextBox2")
Next

--  作者:有点蓝
--  发布时间:2020/3/2 17:01:00
--  
1、DeleteFor只删除前台,保存后肯定会影响后台;SQLDeleteFor只删除后台,前台不重新加载不会更新


For Each dr As DataRow In DataTables("订单登记明细").Select("[数量] >  " & e.Form.Controls("TextBox1").text)

--  作者:lgz518
--  发布时间:2020/3/2 21:26:00
--  
For Each dr As DataRow In DataTables("订单登记明细").Select("[数量] >  " & e.Form.Controls(CInt("TextBox1")).text)

    dr("备注") = e.Form.Controls("TextBox2")
Next
还是不行,没执行,报错,没转字符,转上面转也是报错

--  作者:有点蓝
--  发布时间:2020/3/2 21:35:00
--  
dr("备注") = e.Form.Controls("TextBox2").text
--  作者:lgz518
--  发布时间:2020/3/3 10:45:00
--  
For Each dr As DataRow In DataTables("订单登记明细").Select("[数量] >  " & e.Form.Controls(CInt("TextBox1")).text)   
dr("备注") = e.Form.Controls("TextBox2").text
Next

报错:
.NET Framework 版本:4.0.30319.42000
Foxtable 版本:2019.12.17.18
错误所在事件:窗口,订单查询修改,Button4,Click
详细错误信息:
从字符串“TextBox1”到类型“Integer”的转换无效。
输入字符串的格式不正确。


--  作者:lgz518
--  发布时间:2020/3/3 11:02:00
--  
Dim drs As List(of DataRow) = DataTables("订单").SQLSelect("产品 = \'TextBox1\'")
For Each 
dr As DataRow In drs
    
dr("折扣") = e.Form.Controls("TextBox2")
Next
DataTables(
"订单").SQLUpdate(drs)
用这个也不行

--  作者:2900819580
--  发布时间:2020/3/3 11:07:00
--  
dim sl as integer = e.Form.Controls("TextBox1").text
For Each dr As DataRow In DataTables("订单登记明细").Select("[数量] >  " & sl)  
或者 
For Each dr As DataRow In DataTables("订单登记明细").Select("[数量] >  " & cint(e.Form.Controls("TextBox1").text))  

 

 

以上方法试试

[此贴子已经被作者于2020/3/3 11:08:33编辑过]

--  作者:有点蓝
--  发布时间:2020/3/3 11:24:00
--  
这个地方没有必要做转换

For Each dr As DataRow In DataTables("订单登记明细").Select("[数量] >  " & e.Form.Controls("TextBox1").text)   
dr("备注") = e.Form.Controls("TextBox2").text
Next
[此贴子已经被作者于2020/3/3 11:25:01编辑过]

--  作者:lgz518
--  发布时间:2020/3/3 11:27:00
--  
没报错,就是不执行
--  作者:有点蓝
--  发布时间:2020/3/3 13:10:00
--  
说明没有符合条件的数据,具体上传实例说明