还是用adoquery吧
使用sql语句
很容易的
if trim(edit_mainage.text)<>'' then
begin
with datamodule.adoquery do
begin
active:=false;
sql.text:='select * from tablename where 年龄>='+trim(edit_minage.text);
active:=true;
end;
end;
使用sql语句
很容易的
if trim(edit_mainage.text)<>'' then
begin
with datamodule.adoquery do
begin
active:=false;
sql.text:='select * from tablename where 年龄>='+trim(edit_minage.text);
active:=true;
end;
end;
但是希望年龄属于一个年龄范围
要年龄大于某个数小于另外一个数
我就是依次像如上代码一般判断两个域是否为空
然后形成
年龄>=10 and 年龄<=30 这样的形式
来查询,但是说:
“变量或者类型不正确,或者不在可以接受的范围之内,要不就是与其他数据冲突”
不知是怎么回事。
begin
if(IsFirst)then
begin
DataModule_Main.ADOTable_hr.Filter:='[年龄]>='+trim(Edit_minage.Text);
IsFirst:=False;
end
else
begin
DataModule_Main.ADOTable_hr.Filter:=DataModule_Main.ADOTable_hr.Filter+'and [年龄]>='+trim(Edit_minage.Text);
end;
end;
if(length(trim(Edit_maxage.Text))>0)then
begin
if(IsFirst)then
begin
DataModule_Main.ADOTable_hr.Filter:='[年龄]<='+trim(Edit_maxage.Text);
IsFirst:=False;
end
else
begin
DataModule_Main.ADOTable_hr.Filter:=DataModule_Main.ADOTable_hr.Filter+'and [年龄]<='+trim(Edit_maxage.Text); end;
end;这样的代码应该对吧,
[年龄] between 10 and 30 还是不对阿