主题:为什么每次只能查询第一句话啊
我做的是复选框操作,单一其中某一个复选框是能成功的,但当复选两个以上的话,操作就不能成功,就好象只是选中了一个复选框
代码如下:
procedure Twannengform.RzBitBtn1Click(Sender: TObject);
var str,str1:string;
begin
if not (rzcheckbox1.Checked or rzcheckbox2.Checked or rzcheckbox3.Checked ) then
begin
showmessage('请选择查询范围');
exit;
end;
if rzcheckbox1.Checked then str:='select xh 学号,xm 姓名,xb 性别,bj 班级,sr 出生年月,jg 籍贯,lxfs 联系方式,qq QQ号码,sqssj 申请书时间,dxsj 党校时间,fzsj 推优时间,ybsj 预党时间,zzsj 转正时间 ,bz 备注 from t_info where id="1"
else if rzcheckbox1.Checked and rzcheckbox2.Checked then
str:='select xh 学号,xm 姓名,xb 性别,bj 班级,sr 出生年月,jg 籍贯,lxfs 联系方式,qq QQ号码,sqssj 申请书时间,dxsj 党校时间,fzsj 推优时间,ybsj 预党时间,zzsj 转正时间,bz 备注 from t_info where (id="1" or id="2")'
else if rzcheckbox1.Checked and rzcheckbox3.Checked then
str:='select xh 学号,xm 姓名,xb 性别,bj 班级,sr 出生年月,jg 籍贯,lxfs 联系方式,qq QQ号码,sqssj 申请书时间,dxsj 党校时间,fzsj 推优时间,ybsj 预党时间,zzsj 转正时间,bz 备注 from t_info where (id="1" or id="3")'
else if rzcheckbox2.Checked then
str:='select xh 学号,xm 姓名,xb 性别,bj 班级,sr 出生年月,jg 籍贯,lxfs 联系方式,qq QQ号码,sqssj 申请书时间,dxsj 党校时间,fzsj 推优时间,ybsj 预党时间,zzsj 转正时间,bz 备注 from t_info where id="2"'
else if rzcheckbox2.Checked and rzcheckbox3.Checked then
str:='select xh 学号,xm 姓名,xb 性别,bj 班级,sr 出生年月,jg 籍贯,lxfs 联系方式,qq QQ号码,sqssj 申请书时间,dxsj 党校时间,fzsj 推优时间,ybsj 预党时间,zzsj 转正时间,bz 备注 from t_info where (id="2" or id="3")'
else if rzcheckbox3.Checked then
str:='select xh 学号,xm 姓名,xb 性别,bj 班级,sr 出生年月,jg 籍贯,lxfs 联系方式,qq QQ号码,sqssj 申请书时间,dxsj 党校时间,fzsj 推优时间,ybsj 预党时间,zzsj 转正时间,bz 备注 from t_info where id="3"'
else if rzcheckbox1.Checked and rzcheckbox2.Checked and rzcheckbox3.Checked then
str:='select xh 学号,xm 姓名,xb 性别,bj 班级,sr 出生年月,jg 籍贯,lxfs 联系方式,qq QQ号码,sqssj 申请书时间,dxsj 党校时间,fzsj 推优时间,ybsj 预党时间,zzsj 转正时间 ,bz 备注 from t_info';
{if not (rzcheckbox4.Checked or rzcheckbox5.Checked or rzcheckbox6.Checked or rzcheckbox7.Checked ) then
begin
showmessage('请选择查询的年级段!');
exit;
end;}
if rzcheckbox4.Checked then str1:='and xh like "2003%"'
else if (rzcheckbox4.Checked and rzcheckbox5.Checked) then str1:='and xh like "2003%" or xh like "2004%"'
else if (rzcheckbox4.Checked and rzcheckbox5.Checked and rzcheckbox6.Checked) then str1:='and xh like "2003%" or xh like "2004%" or xh like "2005%"'
else if rzcheckbox5.Checked then str1:='and xh like "2004"'
else if (rzcheckbox5.Checked and rzcheckbox6.Checked) then str1:='and xh like "2004%" or "2005%"'
else if (rzcheckbox5.Checked and rzcheckbox6.Checked and rzcheckbox7.Checked) then str1:='and xh like "2005%" or xh like "2004%" or xh like "2006%"'
else if rzcheckbox6.Checked then str1:='and xh like "2005%"'
else if (rzcheckbox6.Checked and rzcheckbox7.Checked) then str1:='and xh like "2005%" or xh like "2006%"'
else if rzcheckbox7.Checked then str1:='and xh like "2006%"'
else
begin
showmessage('请选择有意义的查询!,用户最多只能查询连续的三个年级段');
exit;
end;
try
with query1 do
begin
sql.Clear;
sql.Add(str);
sql.Add(str1);
open;
rzfieldstatus1.Caption:='共查询到'+inttostr(recordcount)+'条记录';
end;
except
showmessage('查询失败!');
end;
end;
代码如下:
procedure Twannengform.RzBitBtn1Click(Sender: TObject);
var str,str1:string;
begin
if not (rzcheckbox1.Checked or rzcheckbox2.Checked or rzcheckbox3.Checked ) then
begin
showmessage('请选择查询范围');
exit;
end;
if rzcheckbox1.Checked then str:='select xh 学号,xm 姓名,xb 性别,bj 班级,sr 出生年月,jg 籍贯,lxfs 联系方式,qq QQ号码,sqssj 申请书时间,dxsj 党校时间,fzsj 推优时间,ybsj 预党时间,zzsj 转正时间 ,bz 备注 from t_info where id="1"
else if rzcheckbox1.Checked and rzcheckbox2.Checked then
str:='select xh 学号,xm 姓名,xb 性别,bj 班级,sr 出生年月,jg 籍贯,lxfs 联系方式,qq QQ号码,sqssj 申请书时间,dxsj 党校时间,fzsj 推优时间,ybsj 预党时间,zzsj 转正时间,bz 备注 from t_info where (id="1" or id="2")'
else if rzcheckbox1.Checked and rzcheckbox3.Checked then
str:='select xh 学号,xm 姓名,xb 性别,bj 班级,sr 出生年月,jg 籍贯,lxfs 联系方式,qq QQ号码,sqssj 申请书时间,dxsj 党校时间,fzsj 推优时间,ybsj 预党时间,zzsj 转正时间,bz 备注 from t_info where (id="1" or id="3")'
else if rzcheckbox2.Checked then
str:='select xh 学号,xm 姓名,xb 性别,bj 班级,sr 出生年月,jg 籍贯,lxfs 联系方式,qq QQ号码,sqssj 申请书时间,dxsj 党校时间,fzsj 推优时间,ybsj 预党时间,zzsj 转正时间,bz 备注 from t_info where id="2"'
else if rzcheckbox2.Checked and rzcheckbox3.Checked then
str:='select xh 学号,xm 姓名,xb 性别,bj 班级,sr 出生年月,jg 籍贯,lxfs 联系方式,qq QQ号码,sqssj 申请书时间,dxsj 党校时间,fzsj 推优时间,ybsj 预党时间,zzsj 转正时间,bz 备注 from t_info where (id="2" or id="3")'
else if rzcheckbox3.Checked then
str:='select xh 学号,xm 姓名,xb 性别,bj 班级,sr 出生年月,jg 籍贯,lxfs 联系方式,qq QQ号码,sqssj 申请书时间,dxsj 党校时间,fzsj 推优时间,ybsj 预党时间,zzsj 转正时间,bz 备注 from t_info where id="3"'
else if rzcheckbox1.Checked and rzcheckbox2.Checked and rzcheckbox3.Checked then
str:='select xh 学号,xm 姓名,xb 性别,bj 班级,sr 出生年月,jg 籍贯,lxfs 联系方式,qq QQ号码,sqssj 申请书时间,dxsj 党校时间,fzsj 推优时间,ybsj 预党时间,zzsj 转正时间 ,bz 备注 from t_info';
{if not (rzcheckbox4.Checked or rzcheckbox5.Checked or rzcheckbox6.Checked or rzcheckbox7.Checked ) then
begin
showmessage('请选择查询的年级段!');
exit;
end;}
if rzcheckbox4.Checked then str1:='and xh like "2003%"'
else if (rzcheckbox4.Checked and rzcheckbox5.Checked) then str1:='and xh like "2003%" or xh like "2004%"'
else if (rzcheckbox4.Checked and rzcheckbox5.Checked and rzcheckbox6.Checked) then str1:='and xh like "2003%" or xh like "2004%" or xh like "2005%"'
else if rzcheckbox5.Checked then str1:='and xh like "2004"'
else if (rzcheckbox5.Checked and rzcheckbox6.Checked) then str1:='and xh like "2004%" or "2005%"'
else if (rzcheckbox5.Checked and rzcheckbox6.Checked and rzcheckbox7.Checked) then str1:='and xh like "2005%" or xh like "2004%" or xh like "2006%"'
else if rzcheckbox6.Checked then str1:='and xh like "2005%"'
else if (rzcheckbox6.Checked and rzcheckbox7.Checked) then str1:='and xh like "2005%" or xh like "2006%"'
else if rzcheckbox7.Checked then str1:='and xh like "2006%"'
else
begin
showmessage('请选择有意义的查询!,用户最多只能查询连续的三个年级段');
exit;
end;
try
with query1 do
begin
sql.Clear;
sql.Add(str);
sql.Add(str1);
open;
rzfieldstatus1.Caption:='共查询到'+inttostr(recordcount)+'条记录';
end;
except
showmessage('查询失败!');
end;
end;