procedure TForm9.Button1Click(Sender: TObject); var sqlstr:string; begin sqlstr:='select * from 成绩表 where (1=1)'; if Edit1.Text<>'' then sqlstr:=sqlstr+'and (st01='''+edit1.text+''')'; if Edit2.Text<>'' then sqlstr:=sqlstr+'and (c01='''+edit2.text+''')'; if Edit3.Text<>'' then sqlstr:=sqlstr+'and (grade='''+edit3.text+''')'; if Edit5.Text<>'' then sqlstr:=sqlstr+'and (kssj='+edit5.text+')'; if combobox2.Text <>'' then sqlstr:=sqlstr+'and (remark='''+combobox2.text+''')' ; if combobox1.Text<>'' then sqlstr:=sqlstr+'and (kslx='''+combobox1.text+''')'; dm.ADOQuery1.Close ; dm.ADOQuery1.SQL.Clear ; dm.ADOQuery1.SQL.Add(sqlstr); dm.ADOQuery1.Open ; Edit1.Text:=''; Edit2.Text:=''; Edit3.Text:=''; Edit5.Text:=''; combobox1.Text:=''; combobox2.Text:=''; end; 在运行时,edit3处输入数字(如:55)和在edit5处输入日期(如:2001-02-01)点击Button1这个按钮时弹出“标准表达式中数据类型不匹配”! grade在Access表中的数据类型是数字型,kssj在Access表中是日期型!~ 请问是那里错了,该怎么改!~谢谢了!~~~~