起步软件技术论坛-X3

 找回密码
 立即注册
搜索
楼主: 新来小职员

【结贴】想要改进功能[问题]**

[复制链接]
发表于 2007-7-20 09:58:43 | 显示全部楼层
ok
,无论结果怎样,都请跟帖反馈
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-7-23 10:39:26 | 显示全部楼层
我想用SQLDataSet 做可以吗?
毕竟查询的结果是要打印出来的.
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-7-23 11:16:26 | 显示全部楼层
3、我想用SQLDataSet来做
如果你的SQL在设计器是定制好,且是固定的,可以用SQLDataSet,像你这样的表结果用SQLDataSet不行。

重点在于能否打印,光查询出结果没用,能打印才是问题的关键,如果用你给snowman的方法做,那么要用DataSetBroker去连接透视数据集,那样打印功能无法感知也就不能打印.打印的问题在以前就问过了能解决问题的方法就是用SQLDataSet做,如果现在不能用就等于白搭.
回复 支持 反对

使用道具 举报

发表于 2007-7-23 11:18:42 | 显示全部楼层
我想用SQLDataSet 做可以吗?
毕竟查询的结果是要打印出来的.
这不是问题的关键,你用透视数据集一样可以打印出来。关键是透视数据集可以把一个字段的不同值,转置为列(相当于字段)来表现出来。如果你不需要这样的需求,那么你就要标准数据集,如果你也需要这样的特性,那么这样做更麻烦。如果你不嫌麻烦,UserDataSet(自定义数据集)也是可以的,它的字段和字段值都是自己用代码来创建和赋值的

不管用SQLDaSet(是标准数据集)还是用TPivotDataSet(透视数据集),最终都是用的DataGrid(数据网格)来表现,
所以如果需要动态创建bands(栏目),设置column为哪个bands方法是一样的。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-7-23 11:39:50 | 显示全部楼层
如果是SQLDataSet 应该如何去连接透视数据集呢?
回复 支持 反对

使用道具 举报

发表于 2007-7-23 11:56:51 | 显示全部楼层
不能连接
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-7-23 16:21:51 | 显示全部楼层
http://bbs.justep.com/forum.php?mod=viewthread&tid=15929
请看这个连接,主要是冲这个问题我才用SQLDataSet做查询
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-7-24 12:19:36 | 显示全部楼层
出现这样的错误是不是因为SQL中查询的字段和在透视数据集中行维列维的字段对应不上,并且在查询中经常报错说记录不能重复,是哪些字段不允许重复?

1.jpg

24.26 KB, 下载次数: 238

回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-7-24 16:07:48 | 显示全部楼层
最初由 atiger 发布
[B]晕,谁说的,你和你同事看12楼那段代码了马?
栏目是动态创建的,字段名称也是动态修改的。 [/B]


现在问题就是出在这啦!!!,假设现在我查询的是'销售单表'我就必须先在透视数据集中编辑好'销售单表'的SQL,并设好行维列维,然后代码中的那些SQL,和你写给snowman 的代码才发生作用,代码中查询的表换成别的表数据就不对,有重复的记录出现,比如说'销售退货表',数据就不对,但是如果将透视数集中的SQL改为查询'销售退货表'的,数据就正确了.假设取消掉透视数据集中的那些SQL,那么就会出现图中错误

1.jpg

24.26 KB, 下载次数: 224

回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-7-24 17:20:04 | 显示全部楼层
DecisionDef.ShowFieldName = True
  DecisionDef.SummAreaWidth = 2
  DecisionDef.SummAreaHeight = 1
  DecisionDef.MaxDims = 5
  DecisionDef.MaxSums = 10
  DecisionDef.MaxCells = 1
  DecisionDef.Database.Reference = 'Biz:\JXC_GJP_\SJK.Database'
  DecisionDef.DecisionType = dctStatistics
  DecisionDef.DataSetID = 'TSSJJ1'
  DecisionDef.DisplayName = #36879#35270#25968#25454#38598'1'
  DecisionDef.OriginalSQL.Text =
    'SELECT SPXX.SPXX_SPBH, SPXX.SPXX_SPQM, DWXX.DWXX_DWQM, JHMXB.SL,' +
    ' JHMXB.JE'#13#10'  FROM SPXX, DWXX, JHDDB, JHMXB'#13#10'  WHERE DWXX.DWXX_DW' +
    'QM = JHDDB.GHDW and JHDDB.DJBH = JHMXB.DJBH and JHMXB.SPBH = SPX' +
    'X.SPXX_SPBH'
  PreLookupDefs = <
    item
      LookupDefKind = lkdDefault
      LookupDefStyle = lksRowPivot
      FieldName = #21830#21697#32534#21495
    end
    item
      LookupDefKind = lkdDefault
      LookupDefStyle = lksRowPivot
      FieldName = #21830#21697#20840#21517
    end
    item
      LookupDefKind = lkdDefault
      LookupDefStyle = lksColPivot
      FieldName = #21333#20301#20840#21517
    end>
这段是设置维的代码吧?lkdDefault、lksRowPivot、lksColPivot不知道是在哪声明的,另外也不清楚设置的代码该写哪里
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Justep Inc.

GMT+8, 2025-1-14 02:18 , Processed in 0.039585 second(s), 15 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表