存储过程Create Procedure PR_DoSth
AS
BEGIN
// Some Logic here
-- DoSomething here
SELECT * FROM TABLE_TEMP
END对于这样的存储过程,请问如何遍历返回的数据集?谢谢
AS
BEGIN
// Some Logic here
-- DoSomething here
SELECT * FROM TABLE_TEMP
END对于这样的存储过程,请问如何遍历返回的数据集?谢谢
解决方案 »
- 大家好啊,我是花心小鱼呀,我有个问题不敢在别的地儿发,他们的分给的太高.认识我的帮顶下哈!!~希望BZ不要删除!
- 急求RAS组件,提供线索即给分
- NewInstance的疑惑
- Access数据库中的‘备注’形字段在dxDBGrid中能否不显示MEMO字样,而显示该字段内容?
- 信誉分被扣掉2分,每天看着真不舒服又没有什么办法可以再挣回来?
- 数据库的校验问题
- treeview 动态形成,我的方法是否可行?
- 有知道EXESCOPE这个软件的大虾请进下!
- 怎样用SQL语句把一个表为横向变为纵向!急急!!!!!!
- 发布delphi数据库程序应该加入哪些系统文件
- 通过线程id找到线程
- 正在写的Delphi组件开发教程指南
adoquer1.close;
adoquer1.sql.text:='exec PR_DoSth';
adoquer1.open;
之前一直在琢磨用TADOStoreProc.Fields[].[value]一直很疑惑怎么多取多行记录我是小白,请勿介意
begin
with adoquery1 do
begin
close;
sql.text:='exec PR_DoSth';
open;
edit1.text:=FieldByName('列名').AsString; //列名就是TABLE_TEMP表中的列,用Fields[]也行
end;
end;
------
1 B
2 C
4 X
9 V比如上面这个表,当Open的时候记录指针是在第1条记录上的,所以取得的是第1笔数据,即id=1这一笔用adoquery1.next向下移动,执行一次next则记录指针就向下移动一位,就可以取后面的数据了
还有prior,first,last方法等,表示前1笔,第1笔和最后1笔若想直接取id=4这一笔,可以这样
if adoquery1.locate('id',4,[]) then
edit1.text:=adoquery1.FieldByName('name').AsString; //edit1显示X这是locate方法,不懂就去翻翻书吧