Foxtable(狐表)用户栏目专家坐堂 → 关于批量修改问题


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

主题:关于批量修改问题

帅哥,在线噢!
lgz518
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:六尾狐 帖子:1257 积分:8555 威望:0 精华:0 注册:2019/6/13 9:57:00
关于批量修改问题  发帖心情 Post By: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

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


加好友 发短信
等级:超级版主 帖子:110574 积分:562760 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/3/2 17:01:00 [只看该作者]

1、DeleteFor只删除前台,保存后肯定会影响后台;SQLDeleteFor只删除后台,前台不重新加载不会更新


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

 回到顶部
帅哥,在线噢!
lgz518
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:六尾狐 帖子:1257 积分:8555 威望:0 精华:0 注册:2019/6/13 9:57:00
  发帖心情 Post By: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
还是不行,没执行,报错,没转字符,转上面转也是报错

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


加好友 发短信
等级:超级版主 帖子:110574 积分:562760 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/3/2 21:35:00 [只看该作者]

dr("备注") = e.Form.Controls("TextBox2").text

 回到顶部
帅哥,在线噢!
lgz518
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:六尾狐 帖子:1257 积分:8555 威望:0 精华:0 注册:2019/6/13 9:57:00
  发帖心情 Post By: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
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:六尾狐 帖子:1257 积分:8555 威望:0 精华:0 注册:2019/6/13 9:57:00
  发帖心情 Post By: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
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:六尾狐 帖子:1347 积分:9817 威望:0 精华:0 注册:2015/6/30 8:46:00
  发帖心情 Post By: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编辑过]

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


加好友 发短信
等级:超级版主 帖子:110574 积分:562760 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By: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
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:六尾狐 帖子:1257 积分:8555 威望:0 精华:0 注册:2019/6/13 9:57:00
  发帖心情 Post By:2020/3/3 11:27:00 [只看该作者]

没报错,就是不执行

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


加好友 发短信
等级:超级版主 帖子:110574 积分:562760 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/3/3 13:10:00 [只看该作者]

说明没有符合条件的数据,具体上传实例说明

 回到顶部