如何在delphi Dbgrid 查询的结果里,再一次从这个查询的结果里查询匹配结果?
所有的控件都有了,可以从表中查询出数据!已经在‘姓名’中查询出三行结果,接下来在这三行结果中查满足'学号'的操作,怎么做啊?beginADOQueryData.Close...
所
有的控件都有了,可以从表中查询出数据!已经在‘姓名’中查询出三行结果,接下来在这三行结果中查满足'学号'的操作,怎么做啊?
begin
ADOQueryData.Close ;
ADOQueryData.SQL.Clear ;
ADOQueryData.SQL.Add('select * from mandata where name LIKE ''%'+ Trim(EditQueryName.Text)+'%''');
ADOQueryData.Open;
end;
第一次查询时用的就是这个操作! 展开
有的控件都有了,可以从表中查询出数据!已经在‘姓名’中查询出三行结果,接下来在这三行结果中查满足'学号'的操作,怎么做啊?
begin
ADOQueryData.Close ;
ADOQueryData.SQL.Clear ;
ADOQueryData.SQL.Add('select * from mandata where name LIKE ''%'+ Trim(EditQueryName.Text)+'%''');
ADOQueryData.Open;
end;
第一次查询时用的就是这个操作! 展开
3个回答
展开全部
你的意思是不是通过查询姓名马,然后搜索出了三个结果,然后再这三个结果里通过学好或者其他来在结果中查询,是这个意思吗?可以这样做,楼上的办法已经提供了,你可以在显示全部按钮里加代码,首先判断DBgrid上是不是有数据,当然首次查询前将DBgrid的结果清空,然后如果为空,则直接执行根据姓名条件的查询,如果不为空,那么则根据学号来查询,当然,这次查询不能在数据库中查询了,而只能在DBgrid上的信息查询了,可以将第一次查询结果临时保存
追问
前边理解对了,上面那四个Edit控件对应写在:
procedure TForm1.EditQueryNameChange(Sender: TObject); //查询姓名
过程当中;只要edit框内容改变,他就搜索数据库,不用按键,和手机电话本挺像的!
“当然,这次查询不能在数据库中查询了,而只能在DBgrid上的信息查询了,可以将第一次查询结果临时保存” 我就是这个意思,可以怎么写,我不会啊!大侠赐教啊!
追答
临时保存就是可以放到一个临时表里
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
那就继续往后拼接条件串呀,ADOQueryData.SQL.Add('select * from mandata where name LIKE ''%'+ Trim(EditQueryName.Text)+'%'' and [学号字段名] like ''%'+ Trim([学号查询框].Text)+'%''');
追问
这是设置的少,要回选项多了,这样就没有办法了吧! 我想在下一次的查询在 现在查询出来的结果里查询。 也就是希望现在显示出来的结果就相当于一个视图,下一次查询就在这个视图里查询,可以实现么?怎么实现呢?
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
应该用locate这个方法去定位到符合条件的数据上
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询