能否对DataSet中的某个表进行查询操作

DataSet的查询结果中有一个表的数据,现需要对该数据集中的数据进行分组汇总操作,请问能用select方法进行查询操作吗,还是有其他的什么方法,并指定返回字段?... DataSet的查询结果中有一个表的数据,现需要对该数据集中的数据进行分组汇总操作,请问能用select方法进行查询操作吗,还是有其他的什么方法,并指定返回字段? 展开
 我来答
liu55721
2011-11-21 · TA获得超过922个赞
知道大有可为答主
回答量:1861
采纳率:100%
帮助的人:882万
展开全部
dateset组件同时具有Query和Table组件的功能,select是SQL语句的一个子句,它不能称为方法。在DELPHI中,方法一般指过程与函数。DataSet组件在DELPHI的自带控件中有两种,一种是BDE组件,另一种是ADO组件,BDE的dateset组件用起来比较麻烦,因为它还有一个“婆婆”迈达思,用它写的软件,安装到目标机时,必须分发迈达思,而用ADO组件做软件,完全是一种绿色软件,根本不用安装,直接将其复制到目标机的任何一个盘上就可以正常运行(当然要进行一个设置)。对于单机软件我只用ADO组件ADOdateset组件,ADOdateset组件同时具有ADOQuery和ADOTable组件的功能,它可以执行任何形式的SQL语句,下面fr_sjmk.TB_yhlx_js就是一个ADOdateset组件:
fr_sjmk.TB_yhlx_js.Close;
fr_sjmk.TB_yhlx_js.CommandText:='';
fr_sjmk.TB_yhlx_js.CommandText:='select DISTINCT yhlx from yhlx_sj ';
fr_sjmk.TB_yhlx_js.Open;
if fr_sjmk.TB_yhlx_js.RecordCount >0 then
begin
combobox4.Items.Clear;
for i:=0 to fr_sjmk.TB_yhlx_js.RecordCount-1 do
begin
combobox4.Items.Add(fr_sjmk.TB_yhlx_js.FieldValues['yhlx']);
fr_sjmk.TB_yhlx_js.Next;
end;
combobox4.ItemIndex:=0;
end;
fr_sjmk.TB_yhlx_js.Close;
该ADOdateset组件执行SQL语句'select DISTINCT yhlx from yhlx_sj ';//从yhlx_sj表中读取yhlx字段中的数据,并滤掉该字段中的重复项。
然后用 combobox4.Items.Add(fr_sjmk.TB_yhlx_js.FieldValues['yhlx']);
语句把读取到的字段值写到Combobox组件的项目中,成为Combobox组件的下拉选项。
使ADOdatese返回字段值有很多方法,通常使用的有两种方法:
假如s1是一个变量,则有,一种方法:s1:=fr_sjmk.TB_yhlx_js.FieldValues['yhlx'];
另一种方法:s1:= fr_sjmk.TB_yhlx_sjbj.FieldByName('联系电话').Value也是对的。
同样,也可以通过这种办法把数据保存到数据库中:比如fr_sjmk.TB_yhlx_sjbj.FieldByName('联系电话').Value:=combobox6.Text;
海贼酷酷
2011-11-21
知道答主
回答量:17
采纳率:0%
帮助的人:24.4万
展开全部
DataSet里面数据是从数据库里面取来的吧,一般都是在获取表数据的时候,用sql语句对数据进行分组汇总,比如:select [字段名] from [表名] ,然后把结果存入DataSet中返回的。
你全部查出来存入DataSet中,再去取也可以,就通过后期代码去操作了,没有什么select方法。。。那是sql语句代码,查询数据库用的。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式