在组态王中对数据库进行查询主要是利用KVADODBGrid控件来实现的,具体实现方法如下:
1)在组态王画面中添加两个日期时间控件即:Microsoft Date and Time Picker Control 6.0,控件名称分别为date1和date2;
2)在第一个控件的CLOSEUP事件中输入如下命令语言:
long year1;
long month1;
long day1;
year1=date1.Year;
month1=date1.Month;
day1=date1.Day;
string 查询开始时间;
if (month1<10&&day1<10)
{
查询开始时间=StrFromInt(year1, 10)+"年"+"0"+StrFromInt(month1, 10)+"月"+"0"+StrFromInt(day1, 10)+"日";
}
if (month1<10&&day1>=10)
{
查询开始时间=StrFromInt(year1, 10)+"年"+"0"+StrFromInt(month1, 10)+"月"+StrFromInt(day1, 10)+"日";
}
if (month1>=10&&day1<10)
{
查询开始时间=StrFromInt(year1, 10)+"年"+StrFromInt(month1, 10)+"月"+"0"+StrFromInt(day1, 10)+"日";
}
if (month1>=10&&day1>=10)
{
查询开始时间=StrFromInt(year1, 10)+"年"+StrFromInt(month1, 10)+"月"+StrFromInt(day1, 10)+"日";
}
3)在第二个控件的CLOSEUP事件中输入如下命令语言:
long year2;
long month2;
long day2;
year2=date2.Year;
month2=date2.Month;
day2=date2.Day;
string 查询结束时间;
if(month2<10&&day2<10)
{
查询结束时间=StrFromInt(year2, 10)+"年"+"0"+StrFromInt(month2, 10)+"月"+"0"+StrFromInt(day2, 10)+"日";
}
if(month2<10&&day2>=10)
{
查询结束时间=StrFromInt(year2, 10)+"年"+"0"+StrFromInt(month2, 10)+"月"+StrFromInt(day2, 10)+"日";
}
if(month2>=10&&day2<10)
{
查询结束时间=StrFromInt(year2, 10)+"年"+StrFromInt(month2, 10)+"月"+"0"+StrFromInt(day2, 10)+"日";
}
if(month2>=10&&day2>=10)
{
查询结束时间=StrFromInt(year2, 10)+"年"+StrFromInt(month2, 10)+"月"+StrFromInt(day2, 10)+"日";
}
4)在画面上添加一按钮,在按钮的弹起时输入如下命令语言:
机组1历史报警.Where="AlarmDate>=#"+查询开始时间+"# and AlarmDate<=#"+查询结束时间+"# " ; //查询条件
机组1历史报警.FetchData();
机组1历史报警.FetchEnd();
其中: AlarmDate为表中的字段名称,字段类型为日期类型。