以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  [求助]SQLCommand求助  (http://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编辑过]