delphi DBGrid控件问题

大家好!我是新手刚刚接触DELPHI请大家帮帮忙!我用了ADOConnection控件,ADOQuery控件,DataSource控件,和DBGrid控件,数据库是SQL... 大家好!
我是新手刚刚接触DELPHI请大家帮帮忙!
我用了ADOConnection控件,ADOQuery控件,DataSource控件,和DBGrid控件,
数据库是SQL SERVER的,现在问题是数据库连接上了DBGrid也显示出数据库中的数据,我现在想在DBGrid控件中选择某条数据单独的把这条数据ID给取出来
,网上搜索的信息是在DBGrid1CellClick事件中写Query.FieldByName('id').AsString;可是我用的是ADOQuery控件没有FieldByName这个函数啊,然后我就用了TQuery这个控件可以点出FieldByName这个函数,但是DataSource控件的DataSet属性又绑定不了找不到TQuery,哎!搞的我现在真是晕晕的,他们之间到底是什么关系啊,怎么实现我想取选中某条数据的ID啊
展开
 我来答
Tosunk
2010-07-07 · TA获得超过436个赞
知道小有建树答主
回答量:279
采纳率:0%
帮助的人:348万
展开全部
楼主 首先你有个错误的认识AdoQuery是有Fieldbyname的方法的

delphi 的IDE环境会自动提示这个方法
不过如果你这样写

ID:=ADOQuery.FieldByName('id').AsString;
是不提示的,但是代码是对的
如果你想让它提示
你直接这样写可定提示的ADOQuery.FieldByName('id').AsString;

如果楼主还有问题hi我
mores1
2010-07-07 · TA获得超过2419个赞
知道小有建树答主
回答量:254
采纳率:0%
帮助的人:174万
展开全部
adoquery控件是没有fieldbyname这个属性的,我给你代码,你看下就明白了。

var
sql:string;
begin
sql:='select * from tablename where 字段A = ''' + '中国' + '''';
adoquery1.close;
adoquery1.sql.clear;
adoquery1.sql.add(sql);
adoquery1.open;
//下面是取ID的方法
showmessage(inttostr(adoquery1.fieldbyname('id').asinteger));
//假设id是int类型的字段。
//如果要在某个edit控件显示,可以这样
edit1.text := inttostr(adoquery1.fieldbyname('id').asinteger);
end;

明白了吧,是在程序中写的,并不是控件有这个属性,你可以理解为adoquery对象的一个方法。

给分吧,呵呵。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
神说早安
2010-07-07 · 超过33用户采纳过TA的回答
知道答主
回答量:111
采纳率:0%
帮助的人:97万
展开全部
楼上的就OK了
DBGrid在数据滚动选择的时候 ADOQuery的指针也会跟着走
你还可以在ADOQuery的OnAfterScroll事件中写 ID := DataSet.FieldByName('ID').AsString; ID声明为string类型 那么ID就是你要的东东了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式