Foxtable(狐表)用户栏目专家坐堂 → 用SQL的ExecuteReader查询出的结果无法保存问题


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

主题:用SQL的ExecuteReader查询出的结果无法保存问题

帅哥哟,离线,有人找我吗?
affixed
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:二尾狐 帖子:597 积分:4974 威望:0 精华:0 注册:2012/12/27 12:34:00
用SQL的ExecuteReader查询出的结果无法保存问题  发帖心情 Post By:2019/2/11 21:23:00 [只看该作者]

以下代码中的dt绑定到窗口中的副本表Table1.当Table1的内容修改后,按钮1无法实现保存编辑结果的目的,还请赐教.
不知道问题出在哪里了.
SQL语句中的F rom是特地多出个空格的,否则论坛上无法正常发帖。实际代码中没有此空格。

谢谢!

Dim cmd As new SQLCommand
Dim dt As DataTable 
cmd.CommandText = "Select [_Identify],折扣 F rom {订单} Where 数量 >= 500"
cmd.C
dt = cmd.ExecuteReader(True) '记得将参数设置为True
Tables("窗口1_Table1").DataSource = dt
Tables("窗口1_Table1").DataTable.AllowEdit = True

按钮1的代码:
Tables("窗口1_Table1").DataTable.Save()

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


加好友 发短信
等级:二尾狐 帖子:597 积分:4974 威望:0 精华:0 注册:2012/12/27 12:34:00
  发帖心情 Post By:2019/2/11 21:26:00 [只看该作者]

还有就是用sql的INNER JOIN来select出的结果如何进行保存。谢谢!

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


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

用fill吧,如:
Tables("窗口1_Table1").Fill("Select [_Identify],折扣 F rom {订单} Where 数量 >= 500","数据源名称",False)
Tables("窗口1_Table1").AllowEdit = True

这种情况DataSource设置后,窗口表会变成副本,由于没有对应的主表,是无法保存的

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


加好友 发短信
等级:二尾狐 帖子:597 积分:4974 威望:0 精华:0 注册:2012/12/27 12:34:00
  发帖心情 Post By:2019/2/11 21:52:00 [只看该作者]

蓝老师,还有就是为什么用了inner join后就提示“对于多个基表不支持动态 SQL 生成。”
如何解决此问题。

谢谢!

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


加好友 发短信
等级:二尾狐 帖子:597 积分:4974 威望:0 精华:0 注册:2012/12/27 12:34:00
  发帖心情 Post By:2019/2/11 21:54:00 [只看该作者]

fill中改为True就可以执行,False就不行,会提示错误“对于多个基表不支持动态 SQL 生成。”

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


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

inner join的结果是无法保存的,只能用作查询表。

 回到顶部