起步软件技术论坛-X3

 找回密码
 立即注册
搜索
楼主: snowman

【搞定】[请求]datetimepicker影响不到子查询**

[复制链接]
 楼主| 发表于 2007-6-15 16:16:48 | 显示全部楼层
最初由 atiger 发布
[B]没有理解,几乎是完全一样的 说明还是有不同,对吧,应该就是不同地方造成的吧 [/B]

唯一不同的是
我在where里面添加了
JHDDB.LDSJ  BETWEEN :A  AND  :B
XXDDB.LDSJ  BETWEEN :A  AND  :B
在Query1里添加了两个参数
Query1.Params[0].AsDateTime := DateTimePicker1.Date;
  Query1.Params[1].AsDateTime := DateTimePicker2.Date+1;
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-6-18 10:05:18 | 显示全部楼层
还是希望用数据集

数据集里能否添加和query差不多的参数?
Query1.Params[0].AsDateTime := DateTimePicker1.Date;
  Query1.Params[1].AsDateTime := DateTimePicker2.Date+1;
回复 支持 反对

使用道具 举报

发表于 2007-6-18 11:08:04 | 显示全部楼层
楼主,我对你前面说的表示怀疑
1、如果Query 和 数据集(TSQLDataSet)的SQL是一样,那么结果是一样的,不可能Query可以,TSQLDataSet不可以
2、看你3楼的SQL,where 后面全是 and ,那么只要有一个没有值就没有值了

能告诉我你原始的需求吗?你想实现啥查询,结果是怎样的,
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-6-19 10:01:46 | 显示全部楼层
除了粗笔画的地方
其他的基本上都实现了

我用数据集实现的时候
过滤时间时
查询结果会出错

Pic_063.jpg

94.37 KB, 下载次数: 60

回复 支持 反对

使用道具 举报

发表于 2007-6-19 10:56:11 | 显示全部楼层
我用数据集实现的时候
过滤时间时
查询结果会出错
啥意思,出错,的概念是啥,是没有数据了,还是报错,如果报错,请把错误信息帖上来看看


另外,回答我13楼的问题
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-6-19 11:45:34 | 显示全部楼层
回13楼:我写的where 和 and 都没有问题;查询不出结果的问题也解决了

回楼上:没有进行时间过滤的时候,我的查询结果是正确的。
我要过滤时间的两个字段:
LDSJ来自于进货定单表,
XXDDLDSJ来自于销售定单表。

如果我添加了3楼过滤时间的代码,
case1:而数据集里没有添加进货定单表和销售定单表,
那么就会提示列名LDSJ无效。
case2:数据集里添加进货定单表和销售定单表,
那么查询结果就是一个正确结果的笛卡儿积。
以为这两个表和商品信息表一点关系都没有,
我无法用where把它们联系起来。

而我用query实现的时候
可以自由在where里面添加两个参数,
而无须在sql语句中添加进货定单表和销售定单表,
因此不会影响原来的查询结果
JHDDB.LDSJ  BETWEEN :A  AND  :B
XXDDB.LDSJ  BETWEEN :A  AND  :B
在Query1里添加了两个参数
Query1.Params[0].AsDateTime := DateTimePicker1.Date;
  Query1.Params[1].AsDateTime := DateTimePicker2.Date+1;
回复 支持 反对

使用道具 举报

发表于 2007-6-19 14:24:09 | 显示全部楼层
你原来的TSQLDataSet的SQL有Where部分吗?
你再赋值3楼的SQLFilter,原先的Where还要不,如果不要,那么直接给TSQLDataSet 赋SQL就可以了(TSQLDataSet(DataSetbroker1.DataSet).SQL.text),不要用SQLFilter。
因为SQLFilter是指在原来的SQL的Where部分再and一下这个条件
回复 支持 反对

使用道具 举报

发表于 2007-6-21 09:29:42 | 显示全部楼层
??
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-6-21 11:05:34 | 显示全部楼层
现在在忙别的
没有时间去试
回复 支持 反对

使用道具 举报

发表于 2007-6-21 15:39:51 | 显示全部楼层
ok
,有结果了,一定告知,不过不要托时间太长,因为回头再看,有的重新来看
回复 支持 反对

使用道具 举报

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

本版积分规则

小黑屋|手机版|Justep Inc.

GMT+8, 2025-7-6 18:52 , Processed in 0.044972 second(s), 15 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

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