请教
如何返回sqlserver 中存储过程的select的结果集
谢谢!
如何返回sqlserver 中存储过程的select的结果集
谢谢!
解决方案 »
- 使用ShellAbout打开关于对话框,怎么出现错误了?
- FreeLibrary问题
- 怎样通过ADO连接远程服务器上的SQL数据库?[悬赏100分]
- 高手请进~ 一个不知道名的错误,从未见过~
- 100分求:如何将stringgrid表格的内容导出到excel中,主要是速度!
- 如何实现再没有安装BDE的系统中,实现数据库中的利用BDE中的组件操作??
- Delphi中listview下的内容怎样才能编辑?
- 为什么安装了FastReport,再使用的时候按.号没有键盘小精灵。这样可能不能用呀
- 为什么我的机上找不到dcomcnfg.exe文件?
- DEIPHI 能否编写硬件的驱动程序和像WINDOW 、LINUX 一个的大型软件
- 如何 Destroy 一个组件再 Create
- shellexecute的使用问题
TADOStoredProc.
delphi ADO控件组里.
adodataset.open;
create procedure dbo.Test
as begin
select * from tableName
end
AdoQuery1.close;
AdoQuery1.sql.text := 'Execute Test';
Adoquery1.open;
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;
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;
ADOStoredProc1:=TADOStoreProc.create(nil);
ADOStoredProc.connectionstring:='数据库连接字符串';
..............ProcedureName:='存储过程名称';
..............Parameters.CreateParameter('aaa',''...............);存储过程参数
调用时传入参数
with adoquery do
begin
close;
sql.clear;
sql.add(' exec procName (:A,:B,...)');
Parameters.ParamByName('A').Value:='';
Parameters.ParamByName('B').Value:='';
....;
ExecSQL;
end;