以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 用SQL的ExecuteReader查询出的结果无法保存问题 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=130921) |
-- 作者:affixed -- 发布时间:2019/2/11 21:23:00 -- 用SQL的ExecuteReader查询出的结果无法保存问题 以下代码中的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 -- 发布时间:2019/2/11 21:26:00 -- 还有就是用sql的INNER JOIN来select出的结果如何进行保存。谢谢! |
-- 作者:有点蓝 -- 发布时间: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 -- 发布时间:2019/2/11 21:52:00 -- 蓝老师,还有就是为什么用了inner join后就提示“对于多个基表不支持动态 SQL 生成。” 如何解决此问题。 谢谢!
|
-- 作者:affixed -- 发布时间:2019/2/11 21:54:00 -- fill中改为True就可以执行,False就不行,会提示错误“对于多个基表不支持动态 SQL 生成。” |
-- 作者:有点蓝 -- 发布时间:2019/2/11 21:56:00 -- inner join的结果是无法保存的,只能用作查询表。 |