查询问题.(100分)

  • 主题发起人 主题发起人 淋雨
  • 开始时间 开始时间

淋雨

Unregistered / Unconfirmed
GUEST, unregistred user!
问题一:
在用SQL进行模糊查询时,如果记录中某一字段为空,便无法查询到该条记录。原程序如下:

begin
dataform.adoquery1.Close;
dataform.adoquery1.SQL.Clear;
dataform.adoquery1.SQL.Add('select * from 设备资料 where 设备机号 like ');
dataform.adoquery1.SQL.Add(('''')+(edit1.text+'%')+(''''));
dataform.adoquery1.SQL.Add(('and 设备名称 like ')+('''')+(edit2.Text+'%')+(''''));
dataform.adoquery1.SQL.Add(('and 设备型号 like ')+('''')+(edit3.text+'%')+(''''));
dataform.adoquery1.SQL.Add(('and 台内编号 like ')+('''')+(edit4.text+'%')+(''''));
dataform.ADOQuery1.SQL.Add('and 购置日期 between '+'#'+datetostr(datetimepicker1.date)+'#'+' and '+'#'+datetostr(datetimepicker2.Date)+'#');
dataform.ADOQuery1.SQL.Add(('and 购置价格 ')+(combobox1.Text)+(edit6.Text));
dataform.ADOQuery1.SQL.Add(('and 供货商 like ')+('''')+(edit7.Text+'%')+(''''));
dataform.ADOQuery1.SQL.Add(('and 所属部门 like ')+('''')+(combobox2.Text +'%')+(''''));
dataform.ADOQuery1.SQL.Add(('and 使用情况 like ')+('''')+(combobox3.Text +'%')+(''''));
dataform.adoquery1.open;
end;

如果单单用以下语句,就能查找所有记录。
begin
dataform.adoquery1.Close;
dataform.adoquery1.SQL.Clear;
dataform.adoquery1.SQL.Add('select * from 设备资料 where 设备机号 like ');
end;


问题二:
有一个 "EDIT"及一个"BUTTON",假如"button"是"确定"键,如果在"EDIT"输入之后直接按回车确定,就像QQ登录一样,该如何做?


请各位兄弟、高手帮忙看一下, 指导小弟。
 
//问题二:
//有一个 "EDIT"及一个"BUTTON",假如"button"是"确定"键,如果在"EDIT"输入之后直接按回车确定,就像QQ登录一样,该如何做?
可以在edit的onkeypress里边判断
如果按健为回车
则执行button的click事件
 
回答问题二:
在Edit1里头KeyPress事件中写。
if Key = #13 then
Button1.Click;(Button1.OnClick(nil))
 
问题一你的数据库是啥?
那么你把语句拿到SQLPLus里头执行一样。看看先
 
写成
'select * from tablename where fieldName like ''%'+Edit1.Text+'%'''
的样子试试看。两边都用%
 
咋的,还有什么问题?
 
将buttin控件的那个叫什么属性来的设为true就可以了
 
查询问题已解决,我增加判断语句。
谢谢各位。
 
第二个问题,把Button的Default设置为True就可以。
 
多人接受答案了。
 
后退
顶部