以文本方式查看主题 - Foxtable(狐表) (http://www.foxtable.com/bbs/index.asp) -- 专家坐堂 (http://www.foxtable.com/bbs/list.asp?boardid=2) ---- [求助]SQLCommand求助 (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=114372) |
-- 作者:huangfanzi -- 发布时间:2018/2/4 20:15:00 -- [求助]SQLCommand求助 Dim cmd As New SQLCommand Dim dt As DataTable cmd.Commandtext = "S elect 公司, 日期1 As 发货日期,金额1 As 发货金额 from {发货1} Union All S elect 公司, 日期2 As 发货日期,金额2 As 发货金额 from {发货1} ... dt = cmd.ExecuteReader() Tables(e.Form.Name & "_Table1").Fill("S elect * from {" & dt.name & "}", True) 老师,这个临时生成的dt表如何被 Fill 引用? |
-- 作者:有点甜 -- 发布时间:2018/2/4 20:17:00 -- 这样写
Tables(e.Form.Name & "_Table1").DataSource = dt
|
-- 作者:有点甜 -- 发布时间:2018/2/4 20:18:00 -- 或者
Tables(e.Form.Name & "_Table1").Fill("dt的sql语句", true) |
-- 作者:huangfanzi -- 发布时间:2018/2/4 20:22:00 -- 不是这样的,我只是用来举例子方便点,才这样写代码,真实是代码就是老师你之前帮我写的算帐龄的语句,如下: Tables(e.Form.Name & "_Table1").Fill("S elect 公司,发货金额,收款金额,发货金额-收款金额 As 应收款,[1-30天],[31-60天],[61-90天],[91-180天],[181-360天],[360天以上] from (S elect 公司,SUM(发货金额) As 发货金额,(S elect sum(收款金额) from {收款} b where a.公司 = b.公司 ) As 收款金额,(S elect sum(发货金额) from {发货} d where 。。。 真实项目中的发货表是水平表,我要Union All改成了垂直表,然后就有了这个 dt 不知如何处理的情况。 [此贴子已经被作者于2018/2/4 20:22:27编辑过]
|
-- 作者:有点甜 -- 发布时间:2018/2/4 20:25:00 -- 临时表dt不能直接用。你把全部sql语句拷贝进去,加上括号,如 from (sql语句) |
-- 作者:huangfanzi -- 发布时间:2018/2/4 20:27:00 -- 天,哪这样不行,本身代码已经很长,再这样引用,就像天书了,有折中的方法吗? |
-- 作者:有点甜 -- 发布时间:2018/2/4 20:29:00 -- 以下是引用huangfanzi在2018/2/4 20:27:00的发言:
天,哪这样不行,本身代码已经很长,再这样引用,就像天书了,有折中的方法吗?
如果是外部数据源,那就在你的数据库那里做视图。如果是内部表,没办法,只能全部写在一起。 |
-- 作者:huangfanzi -- 发布时间:2018/2/4 20:35:00 -- 如果我在窗口中先填充一张SQLCommand生成的表,并将此表不可见,然后在一张可见的表中用FILL的方法把来装填那张不可见表,这样也不行吗? |
-- 作者:有点甜 -- 发布时间:2018/2/4 23:02:00 -- 以下是引用huangfanzi在2018/2/4 20:35:00的发言:
如果我在窗口中先填充一张SQLCommand生成的表,并将此表不可见,然后在一张可见的表中用FILL的方法把来装填那张不可见表,这样也不行吗?
如果是内部表,不行。
如果是外部表,可以在数据库那里,做一个视图。 |
-- 作者:huangfanzi -- 发布时间:2018/2/5 15:48:00 -- 刚网上看了下网上教程关于视图的,创建的语句虽然不复杂,但还是无从下手,老师能帮下忙说下吗? 第一,在SQL中哪个地方创建视图 第二,在FT中的语句是 “S elect 公司, 日期1 As 发货日期,金额1 As 发货金额 from {发货1} Union All S elect 公司, 日期2 As 发货日期,金额2 As 发货金额 from {发货1}”,在视图中如何写,能帮我写下代码吗?我好参照改写 第三,在FT中如何调用这个视图表,例如 Tables(e.Form.Name & "_Table1").Fill("S elect * From 视图表 , True)
[此贴子已经被作者于2018/2/5 15:47:51编辑过]
|