发表于:2009/3/20 19:34:28
#0楼
在组态王中,如何用日历控件(包含日期和时间)配合KVADODBGrid控件在sql Server2000中进行以时间(datetime型)为条件的数据查询?例如,第一种:在日历控件中选择日期时间为2009年3月20日8:00:00,如何查询sql server2000中时间为该时间的记录?第二种:选择起始日期时间为2009年3月18日8:00:00,终止日期时间为2009年3月20日12:00:00,如何查询sq server2000中这一时间段的记录?
第一种我的程序如下,但是查询不到记录,数据库中是有该条记录的,好像是KVADODBGrid控件的where属性waterlevel.where有问题;
第二种我不知道如何修改查询条件,还请各位大侠帮帮我,多谢各位了!
long year;
long month;
long day;
long hour;
long minute;
long second;
string a_year;
string a_month;
string a_day;
string a_hour;
string a_minute;
string a_second;
string calendar;
year=Datastart.Year;
month=Datastart.Month;
day=Datastart.Day;
hour=Timestart.Hour;
minute=Timestart.Minute;
second=Timestart.Second;
a_month=strfromint(month,10);
if(month<10) a_month="0"+a_month;
a_day=strfromint(day,10);
if(day<10) a_day="0"+a_day;
a_hour=strfromint(hour,10);
if(hour<10) a_hour="0"+a_hour;
a_minute=strfromint(minute,10);
if(minute<10) a_minute="0"+a_minute;
a_second=strfromint(second,10);
if(second<10) a_second="0"+a_second;
calendar=strfromint(year,10)+"-"+a_month+"-"+a_day+" "+a_hour+":"+a_minute+":"+a_second;
waterlevel.Where="时间 like '%"+calendar+"%'";
waterlevel.FetchData();
waterlevel.FetchEnd();
第一种我的程序如下,但是查询不到记录,数据库中是有该条记录的,好像是KVADODBGrid控件的where属性waterlevel.where有问题;
第二种我不知道如何修改查询条件,还请各位大侠帮帮我,多谢各位了!
long year;
long month;
long day;
long hour;
long minute;
long second;
string a_year;
string a_month;
string a_day;
string a_hour;
string a_minute;
string a_second;
string calendar;
year=Datastart.Year;
month=Datastart.Month;
day=Datastart.Day;
hour=Timestart.Hour;
minute=Timestart.Minute;
second=Timestart.Second;
a_month=strfromint(month,10);
if(month<10) a_month="0"+a_month;
a_day=strfromint(day,10);
if(day<10) a_day="0"+a_day;
a_hour=strfromint(hour,10);
if(hour<10) a_hour="0"+a_hour;
a_minute=strfromint(minute,10);
if(minute<10) a_minute="0"+a_minute;
a_second=strfromint(second,10);
if(second<10) a_second="0"+a_second;
calendar=strfromint(year,10)+"-"+a_month+"-"+a_day+" "+a_hour+":"+a_minute+":"+a_second;
waterlevel.Where="时间 like '%"+calendar+"%'";
waterlevel.FetchData();
waterlevel.FetchEnd();