Foxtable(狐表)用户栏目专家坐堂 → [求助]SQLCommand求助


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

主题:[求助]SQLCommand求助

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


加好友 发短信
等级:五尾狐 帖子:1104 积分:8956 威望:0 精华:0 注册:2014/10/25 11:24:00
[求助]SQLCommand求助  发帖心情 Post By:2018/2/4 20:15:00 [只看该作者]

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 引用?


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/2/4 20:17:00 [只看该作者]

这样写
Tables(e.Form.Name & "_Table1").DataSource = dt

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/2/4 20:18:00 [只看该作者]

或者

 

Tables(e.Form.Name & "_Table1").Fill("dt的sql语句", true)


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


加好友 发短信
等级:五尾狐 帖子:1104 积分:8956 威望:0 精华:0 注册:2014/10/25 11:24:00
  发帖心情 Post By: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编辑过]

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/2/4 20:25:00 [只看该作者]

临时表dt不能直接用。你把全部sql语句拷贝进去,加上括号,如 from (sql语句)

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


加好友 发短信
等级:五尾狐 帖子:1104 积分:8956 威望:0 精华:0 注册:2014/10/25 11:24:00
  发帖心情 Post By:2018/2/4 20:27:00 [只看该作者]

天,哪这样不行,本身代码已经很长,再这样引用,就像天书了,有折中的方法吗?


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/2/4 20:29:00 [只看该作者]

以下是引用huangfanzi在2018/2/4 20:27:00的发言:
天,哪这样不行,本身代码已经很长,再这样引用,就像天书了,有折中的方法吗?

 

如果是外部数据源,那就在你的数据库那里做视图。如果是内部表,没办法,只能全部写在一起。


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


加好友 发短信
等级:五尾狐 帖子:1104 积分:8956 威望:0 精华:0 注册:2014/10/25 11:24:00
  发帖心情 Post By:2018/2/4 20:35:00 [只看该作者]

如果我在窗口中先填充一张SQLCommand生成的表,并将此表不可见,然后在一张可见的表中用FILL的方法把来装填那张不可见表,这样也不行吗?

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/2/4 23:02:00 [只看该作者]

以下是引用huangfanzi在2018/2/4 20:35:00的发言:
如果我在窗口中先填充一张SQLCommand生成的表,并将此表不可见,然后在一张可见的表中用FILL的方法把来装填那张不可见表,这样也不行吗?

 

如果是内部表,不行。

 

如果是外部表,可以在数据库那里,做一个视图。


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


加好友 发短信
等级:五尾狐 帖子:1104 积分:8956 威望:0 精华:0 注册:2014/10/25 11:24:00
  发帖心情 Post By: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编辑过]

 回到顶部
总数 12 1 2 下一页