如何返回sqlserver 中存储过程的select的结果集

kevin_yi 2009-01-12 11:31:00
请教
如何返回sqlserver 中存储过程的select的结果集
谢谢!
...全文
1020 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
lenism521 2009-01-12
  • 打赏
  • 举报
回复

ADOQuery1.close;
ADOQuery1.sql.clear;
ADOQuery1.add('select 列名1,列名2 from 表名 where field1>=:pa1');
ADOQuery1.parambyname('pa1').asstring:=edit1.text; //参数
ADOQuery1.open;

修改下 忘了数据集指定位置
返回 调用其值
ADOQuery1.First
for i = 0 to ADOQuery1.RecordCount - 1 do
begin
ComboBox1.Items.Add(ADOQuery1.FieldValues['列名1']); //注意类型转换。本例列名1为字符串类型
ComboBox2.Items.Add(ADOQuery1.FieldValues['列名2']);
ADOQuery1.Next;
end;
lenism521 2009-01-12
  • 打赏
  • 举报
回复
ADOQuery1.close;
ADOQuery1.sql.clear;
ADOQuery1.add('select 列名1,列名2 from 表名 where field1>=:pa1');
ADOQuery1.parambyname('pa1').asstring:=edit1.text; //参数
ADOQuery1.open;

返回 调用其值
for i = 0 to ADOQuery1.RecordCount - 1 do
begin
ComboBox1.Items.Add(ADOQuery1.FieldValues['列名1']); //注意类型转换。本例列名1为字符串类型
ComboBox2.Items.Add(ADOQuery1.FieldValues['列名2']);
end;
starluck 2009-01-12
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 kevin_yi 的回复:]
能给个例子吗
[/Quote]



create procedure dbo.Test
as begin
select * from tableName
end





AdoQuery1.close;
AdoQuery1.sql.text := 'Execute Test';
Adoquery1.open;

qiume 2009-01-12
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 kevin_yi 的回复:]
能给个例子吗
[/Quote]

3楼就是例子......
kevin_yi 2009-01-12
  • 打赏
  • 举报
回复
能给个例子吗
hongqi162 2009-01-12
  • 打赏
  • 举报
回复
adodataset.commandText:='exec procname';
adodataset.open;
eqapple 2009-01-12
  • 打赏
  • 举报
回复

TADOStoredProc.
delphi ADO控件组里.
bdmh 2009-01-12
  • 打赏
  • 举报
回复
有控件,直接执行存储过程就可以了,然后配以datasource,简单操作上跟adoquery差不多
starluck 2009-01-12
  • 打赏
  • 举报
回复
[Quote=引用 11 楼 kevin_yi 的回复:]
如果储过程中有多个select 怎么区分不同的select的结果集
[/Quote]

只返回最後一個數據集
kevin_yi 2009-01-12
  • 打赏
  • 举报
回复
如果储过程中有多个select 怎么区分不同的select的结果集
ks_reny 2009-01-12
  • 打赏
  • 举报
回复
個人習慣下面的格式:

with adoquery do
begin
close;
sql.clear;
sql.add(' exec procName (:A,:B,...)');
Parameters.ParamByName('A').Value:='';
Parameters.ParamByName('B').Value:='';
....;
ExecSQL;
end;
wwwzxl 2009-01-12
  • 打赏
  • 举报
回复
ADOStoredProc1:TADOStoredProc;
ADOStoredProc1:=TADOStoreProc.create(nil);
ADOStoredProc.connectionstring:='数据库连接字符串';
..............ProcedureName:='存储过程名称';
..............Parameters.CreateParameter('aaa',''...............);存储过程参数
调用时传入参数

5,388

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧