///////////////////////////////////////////////////////////////////////ؤ®[é5D>www.mini188.comó÷9«¥å]«5h
//ؤ®[é5D>www.mini188.comó÷9«¥å]«5h
// 作者: 付伟ؤ®[é5D>www.mini188.comó÷9«¥å]«5h
//ؤ®[é5D>www.mini188.comó÷9«¥å]«5h
// 日期: 2007-06-15ؤ®[é5D>www.mini188.comó÷9«¥å]«5h
//ؤ®[é5D>www.mini188.comó÷9«¥å]«5h
// TEL : 13655310832ؤ®[é5D>www.mini188.comó÷9«¥å]«5h
//ؤ®[é5D>www.mini188.comó÷9«¥å]«5h
///////////////////////////////////////////////////////////////////////ؤ®[é5D>www.mini188.comó÷9«¥å]«5h
unit Func_Sql;ؤ®[é5D>www.mini188.comó÷9«¥å]«5h
ؤ®[é5D>www.mini188.comó÷9«¥å]«5h
interfaceؤ®[é5D>www.mini188.comó÷9«¥å]«5h
usesؤ®[é5D>www.mini188.comó÷9«¥å]«5h
SysUtils,ComCtrls,Dialogs;ؤ®[é5D>www.mini188.comó÷9«¥å]«5h
//下面的函数用来处理ACCESS日期类查询的精确查询问题ؤ®[é5D>www.mini188.comó÷9«¥å]«5h
//如,时间范围在 09:59:59 时,10:00:00的记录不应该被选择.ؤ®[é5D>www.mini188.comó÷9«¥å]«5h
//条件中的'预约时间'字段,是数据库内指定字段,应该在这里指定ؤ®[é5D>www.mini188.comó÷9«¥å]«5h
ؤ®[é5D>www.mini188.comó÷9«¥å]«5h
// MoreThan 处理 条件 ' >= A '的SQLؤ®[é5D>www.mini188.comó÷9«¥å]«5h
procedure MoreThan( m_date,m_time : TDateTimePicker ; const s_field : string ;var s_sql : string );ؤ®[é5D>www.mini188.comó÷9«¥å]«5h
procedure LessThan( m_date,m_time : TDateTimePicker ; const s_field : string ;var s_sql : string );ؤ®[é5D>www.mini188.comó÷9«¥å]«5h
implementationؤ®[é5D>www.mini188.comó÷9«¥å]«5h
procedure LessThan( m_date,m_time : TDateTimePicker ; const s_field : string ;var s_sql : string );ؤ®[é5D>www.mini188.comó÷9«¥å]«5h
varؤ®[é5D>www.mini188.comó÷9«¥å]«5h
sqltxt : string;ؤ®[é5D>www.mini188.comó÷9«¥å]«5h
pdate,ptime : PChar;ؤ®[é5D>www.mini188.comó÷9«¥å]«5h
beginؤ®[é5D>www.mini188.comó÷9«¥å]«5h
// m_time.Format('yyyy-MM-dd hh:mm:ss')ؤ®[é5D>www.mini188.comó÷9«¥å]«5h
GetMem( pdate , m_date.GetTextLen + 1 );ؤ®[é5D>www.mini188.comó÷9«¥å]«5h
GetMem(ptime,m_time.GetTextLen + 1);ؤ®[é5D>www.mini188.comó÷9«¥å]«5h
m_date.GetTextBuf( pdate , m_date.GetTextLen + 1 );ؤ®[é5D>www.mini188.comó÷9«¥å]«5h
m_time.GetTextBuf( ptime , m_time.GetTextLen + 1 );ؤ®[é5D>www.mini188.comó÷9«¥å]«5h
sqltxt := format('DatePart("yyyy",[%s]) <= DatePart("yyyy",''%s %s'')',[ s_field , pdate, ptime ]);ؤ®[é5D>www.mini188.comó÷9«¥å]«5h
sqltxt := format('%s and DatePart("m",[%s]) <= DatePart("m",''%s %s'')',[ sqltxt, s_field , pdate, ptime ]);ؤ®[é5D>www.mini188.comó÷9«¥å]«5h
sqltxt := format('%s and DatePart("d",[%s]) <= DatePart("d",''%s %s'')',[ sqltxt, s_field , pdate, ptime ]);ؤ®[é5D>www.mini188.comó÷9«¥å]«5h
sqltxt := format('%s and DatePart("h",[%s]) <= DatePart("h",''%s %s'')',[ sqltxt, s_field , pdate, ptime ]);ؤ®[é5D>www.mini188.comó÷9«¥å]«5h
sqltxt := format('%s and DatePart("n",[%s]) <= DatePart("n",''%s %s'')',[ sqltxt, s_field , pdate, ptime ]);ؤ®[é5D>www.mini188.comó÷9«¥å]«5h
sqltxt := format('%s and DatePart("s",[%s]) <= DatePart("s",''%s %s'')',[ sqltxt, s_field , pdate, ptime ]);ؤ®[é5D>www.mini188.comó÷9«¥å]«5h
s_sql := sqltxt;ؤ®[é5D>www.mini188.comó÷9«¥å]«5h
FreeMem( pdate );ؤ®[é5D>www.mini188.comó÷9«¥å]«5h
FreeMem( ptime );ؤ®[é5D>www.mini188.comó÷9«¥å]«5h
end;ؤ®[é5D>www.mini188.comó÷9«¥å]«5h
ؤ®[é5D>www.mini188.comó÷9«¥å]«5h
procedure MoreThan( m_date,m_time : TDateTimePicker ; const s_field : string ;var s_sql : string );ؤ®[é5D>www.mini188.comó÷9«¥å]«5h
varؤ®[é5D>www.mini188.comó÷9«¥å]«5h
sqltxt : string;ؤ®[é5D>www.mini188.comó÷9«¥å]«5h
pdate,ptime : PChar;ؤ®[é5D>www.mini188.comó÷9«¥å]«5h
beginؤ®[é5D>www.mini188.comó÷9«¥å]«5h
// m_time.Format('yyyy-MM-dd hh:mm:ss')ؤ®[é5D>www.mini188.comó÷9«¥å]«5h
GetMem( pdate , m_date.GetTextLen + 1 );ؤ®[é5D>www.mini188.comó÷9«¥å]«5h
GetMem(ptime,m_time.GetTextLen + 1);ؤ®[é5D>www.mini188.comó÷9«¥å]«5h
m_date.GetTextBuf( pdate , m_date.GetTextLen + 1 );ؤ®[é5D>www.mini188.comó÷9«¥å]«5h
m_time.GetTextBuf( ptime , m_time.GetTextLen + 1 );ؤ®[é5D>www.mini188.comó÷9«¥å]«5h
sqltxt := format('DatePart("yyyy",[%s]) >= DatePart("yyyy",''%s %s'')',[ s_field , pdate, ptime ]);ؤ®[é5D>www.mini188.comó÷9«¥å]«5h
sqltxt := format('%s and DatePart("m",[%s]) >= DatePart("m",''%s %s'')',[ sqltxt, s_field , pdate, ptime ]);ؤ®[é5D>www.mini188.comó÷9«¥å]«5h
sqltxt := format('%s and DatePart("d",[%s]) >= DatePart("d",''%s %s'')',[ sqltxt, s_field , pdate, ptime ]);ؤ®[é5D>www.mini188.comó÷9«¥å]«5h
sqltxt := format('%s and DatePart("h",[%s]) >= DatePart("h",''%s %s'')',[ sqltxt, s_field , pdate, ptime ]);ؤ®[é5D>www.mini188.comó÷9«¥å]«5h
sqltxt := format('%s and DatePart("n",[%s]) >= DatePart("n",''%s %s'')',[ sqltxt, s_field , pdate, ptime ]);ؤ®[é5D>www.mini188.comó÷9«¥å]«5h
sqltxt := format('%s and DatePart("s",[%s]) >= DatePart("s",''%s %s'')',[ sqltxt, s_field , pdate, ptime ]);ؤ®[é5D>www.mini188.comó÷9«¥å]«5h
s_sql := sqltxt;ؤ®[é5D>www.mini188.comó÷9«¥å]«5h
FreeMem( pdate );ؤ®[é5D>www.mini188.comó÷9«¥å]«5h
FreeMem( ptime );ؤ®[é5D>www.mini188.comó÷9«¥å]«5h
end;ؤ®[é5D>www.mini188.comó÷9«¥å]«5h
ؤ®[é5D>www.mini188.comó÷9«¥å]«5h
end.ؤ®[é5D>www.mini188.comó÷9«¥å]«5h