用个SQL语句就可以了。假如你的字段名为姓名:name,sqlString:='select * from yourtable where name like "周%"';定义或者放置一个TQuery,
TQuery.Sql.add(SQlString);
TQuery.open;
这样,TQuery返回一个和你平时操作一样的Dataset,而里面的记录是以姓名第一个字为周来查询的。
如果你需要动态参数查询,可以动态地构造一个SQLString就可以了。
TQuery.Sql.add(SQlString);
TQuery.open;
这样,TQuery返回一个和你平时操作一样的Dataset,而里面的记录是以姓名第一个字为周来查询的。
如果你需要动态参数查询,可以动态地构造一个SQLString就可以了。
Query1.SQL.Clear;
Query1.SQL.Add('Select * from Custom where Name like '''+Edit1.Text+'%''');
Query1.Open;
accept := true;
var
fieldval:string;
begin
fieldval:=dataset['姓名']; //姓名为属性
accept:=fieldval[1]='周%'; //找姓周的人
end;
什么原因??
还有,我用Query的SQLstring里的为
select * from mytable where 成绩 like '7%' //想找70多分的
也不行.为什么?
ADOTable.Filter := 'NAME LIKE '周%'';
ADOTable.Filtered := true;
ADOTable.Filter := 'NAME LIKE '周%'';
ADOTable.Filtered := true;
//里面的NAME 应该不是 姓名 吗?
我是初学的,不要见怪.
Locate()怎么用在我的问题中啊??
begin
IndexFieldNames:='Name';
FindNearest([Edit1.Text]); //模糊查找
end;
你给的好像要必须是index字段才行,但据我所知,table只能多建一个第二index,所以如果我的'姓名'不是index字段的话,你给的就不行了吧,反正我是不会。
begin
Close;
SQL.Clear;
SQL.Add('Select * from Custom where Name like '''+Trim(Edit1.Text)+'%''');
Open;
end;
这样还有问题吗?
试试吧