急!!!!(30分)

  • 主题发起人 主题发起人 ss
  • 开始时间 开始时间
S

ss

Unregistered / Unconfirmed
GUEST, unregistred user!
INTERBASE4.2/INTERBASE5中
1.界面中有两个TDateTimePicker得到起止时间.
2.DateBase中有一过程,
Create Procedure P_Cala (BeginDate,EndDate)
REturns(XX date,
XXX char(8),
........).....
3.程序中有:
...
Query1.SQL.add(select ... From P_Cala(BeginDate,EndDate));
...


请问:三个步骤中的日期参数怎样传递? 类型转换及参数调用?

配分方式: 迅速 准确 举例说明

问题特点: 简单 最迟两日内结束

(最好6.30 6:50前告诉我, 我要赶通勤车 ;) )
 
应该写为
Query1.Sql.Add ('select .... from P_Cala (:BeginDate,:EndDate)');
???

是不是还是用
parambyname ('BeginDate').AsDate := ....
parambyname ('EndDate').AsDate := ....

我只是猜想!!:-)
 
我有点看不懂你的sql语句. :(
 
未必能用:((
推荐动态生成这句SQL
query1.sql.add('select...('+datetostr(d1)+','+datetostr(d2)+'...')
 
这个问题显然由我回答比较合适,我几乎天天与InterBase打交道....
1.从界面获得的两个日期时间显然是TDateTime类型,也就是Double类型,
转换为串:
sDate1 := FormatDateTime('mm-dd-yyyy', Date1);
sDate2 := FormatDateTime('mm-dd-yyyy', Date2);
一定要注意:InterBase并不随你设定Delphi全局量ShortFormat而改变
日期转换为串的格式而永远使用m-d-yyyy。
2.不要使用TParams,直接修改SQL:
SQL.Text := Format('EXECUTE PROCEDURE P_Cala ''%s'',''%s''',
[sDate1, sDate2]);
3.运行后取字段值:
Fields[0].AsDateTime,
Fields[1].AsString
 

还有一问(其实是一个问题):为什么我传入日期参数却得不到正确的结果
用FORMATDATATIME('YYYY-MM_DD', BeginDate),
FORMATDATATIME('YYYY-MM_DD', EndDate),
如果限定范围为 1999-7-1 1999-7-3
确要在DateTimePicker中选择 1999-6-30 1999-7-4才行?为什么呀?

请大家到“非技术问题”——先到先得!!中继续取分, 再见。




大富翁银行要记 工分 了....(rich4)

分不代表什么,请大家收好 :D
 

还有一问(其实是一个问题):为什么我传入日期参数却得不到正确的结果
用FORMATDATATIME('YYYY-MM_DD', BeginDate),
FORMATDATATIME('YYYY-MM_DD', EndDate),
如果限定范围为 1999-7-1 1999-7-3
确要在DateTimePicker中选择 1999-6-30 1999-7-4才行?为什么呀?

请大家到“非技术问题”——先到先得!!中继续取分, 再见。




大富翁银行要记 工分 了....(rich4)

分不代表什么,请大家收好 :D
 
Use KeyExclusive to specify whether or not a range includes or excludes the records that match the specified starting and ending values for a range. By default, KeyExclusive is True, meaning that matching values are not included.

To restrict a range to those records that are greater than the specified starting value and less than the specified ending value, set KeyExclusive to True. To include the endpoints in the range, set KeyExclusive to False.
 
后退
顶部