例如 订单表rev 字段:rom date1 date2 三个字段分别是:房号 开始日期 结速日期
现在表里有三个记录 1: 0401 2009/06/08 2009/06/11
2: 0401 2009/06/19 2009/06/21 2: 0401 2009/07/01 2009/07/21
我现在要做新的订单,输入起始日期与结速日期如果与表的记录有冲突(日期)时给提示,怎么做才能判断出来,有样例最好
现在表里有三个记录 1: 0401 2009/06/08 2009/06/11
2: 0401 2009/06/19 2009/06/21 2: 0401 2009/07/01 2009/07/21
我现在要做新的订单,输入起始日期与结速日期如果与表的记录有冲突(日期)时给提示,怎么做才能判断出来,有样例最好
解决方案 »
- 请各路大侠帮忙installshield express for delphi7 哪里下载
- Delphi DIABLO
- Image改变大小的问题
- activex的变量类型的问题
- 简单的问题:为何在delphi7里面找不到QReport控件?
- 关于Table的使用问题??急!!
- SQL2000的问题,在连接过程中出现 SQLQuery1:opertion not allowed on a unidirectional Dataset1
- 关于adoquery 数据更新的问题!急~~~
- 如何得出两个时间之差(急)
- 我想在DBGrid中设计按鼠标右键弹出菜单,但
- 一个时间段我要循环列出这段里的日期
- 请教一下用过DELPHItwain的高手,如何设置扫描出来的图片的WIDTH,height啊?
d1,d2是你输入的两个日期变量,string型
var
d1,d2:string;
begin
ADOQuery1.Close;
ADOQuery1.SQL.Text := 'select * from rev where 开始日期='+QuotedStr(d1)+' and 结速日期='+QuotedStr(d2);
ADOQuery1.Open;
if ADOQuery1.RecordCount > 0 then
ShowMessage('有冲突')
else
ShowMessage('没有冲突');
end;
select * from rev where
(date1<='''+(d1)+''' and date2>='''+(d1)+''') or
(date1<='''+(d2)+''' and date2>='''+(d2)+''')
只要开始日期或结束日期有一个日期与原有订单的日期重叠,则判断有冲突.
where roomno='0401' and
((sdate<=d1 and d1<=edate) or (sdate<=d2 and d2<=edate))