你自己跟踪一下,
把 ADOquery1.Open; 语句设置中断,
在Run菜单中,
Add Watch...中,
加入“ADOQuery1.SQL.STRING”,
然后把它运行值,拷贝到记事本中,仔细考察一下。
你的第一个复选框,务必总是选定。
你checkbox1一定是checked的吗?如果没有就会发生这个错误。要不然你可以把第一句改成固定的。还有你可以把你的sql显示出来看看对不对
procedure Tstudentcheck.Button1Click(Sender: TObject);
begin
ADOQuery1.SQL.Clear;
ADOquery1.SQL.Add('select * from question where 1=1');
if checkbox1.Checked then
ADOquery1.SQL.Add(' and LessonName='''+combobox5.text+'''');
if checkbox2.Checked then
ADOquery1.SQL.Add(' and LessonUnit='''+combobox1.text+'''');
if checkbox3.Checked then
ADOquery1.SQL.Add(' and LessonDiff='''+combobox2.text+'''');
if checkbox4.Checked then
ADOquery1.SQL.Add(' and LessonScore='''+combobox3.text+'''');
if checkbox5.Checked then
ADOquery1.SQL.Add(' and Style='''+combobox4.text+'''');
ADOquery1.Open;
end;