Delphi利用adoquery调用sql server存储过程 标量值函数 表值函数

{利用adoquery调用sql server存储过程}

procedure TForm1.Label1Click(Sender: TObject);

begin

adoquery1.Close;

adoquery1.SQL.Clear ;

adoquery1.SQL.Add('exec proc_stu :a output,:b,:c');

adoquery1.Parameters1.Value :=strtoint(edit1.Text);

adoquery1.Parameters2.Value :=strtoint(edit2.Text);

adoquery1.Parameters0.DataType:=ftsmallint;

adoquery1.Parameters0.Direction:=pdoutput;

adoquery1.Prepared:=true;

adoquery1.Open ;

edit3.Text:= inttostr(adoquery1.Parameters0.Value );

end;

{利用adostoreproc调用sqlserver标量值函数}

procedureTForm1.Label2Click(Sender:TObject);

begin

adostoredproc1.ProcedureName:='rectanglearea';

adostoredproc1.close;

adostoredproc1.Parameters.Refresh;//Clear会导致数组溢出异常。

adostoredproc1.Parameters.CreateParameter('return_value',ftfloat,pdreturnvalue,20,null);//函数返回值

adostoredproc1.Parameters.CreateParameter('a',ftfloat,pdinput,10,null);

adostoredproc1.Parameters.CreateParameter('b',ftfloat,pdinput,10,null);

adostoredproc1.Parameters1.Value:=strtofloat(edit1.Text);

adostoredproc1.Parameters2.Value:=strtofloat(edit2.Text);

adostoredproc1.Prepared:=true;

adostoredproc1.ExecProc;

edit3.Text:=floattostr(adostoredproc1.Parameters0.Value);

end;

{利用adostoreproc调用sqlserver存储过程}

procedureTForm1.Button1Click(Sender:TObject);

begin

adostoredproc1.ProcedureName:='proc_stu';

adostoredproc1.close;

adostoredproc1.Parameters.Clear;

//adostoredproc1.Parameters.CreateParameter('return_value',ftfloat,pdreturnvalue,20,null);

adostoredproc1.Parameters.CreateParameter('a',ftinteger,pdoutput,10,null);//参数名不需要与sql中定义的参数名相同

adostoredproc1.Parameters.CreateParameter('b',ftinteger,pdinput,10,null);

adostoredproc1.Parameters.CreateParameter('c',ftinteger,pdinput,10,null);

adostoredproc1.Parameters1.Value:=strtofloat(edit1.Text);

adostoredproc1.Parameters2.Value:=strtofloat(edit2.Text);

adostoredproc1.Prepared:=true;

adostoredproc1.Open;//有与dbgrid相关联,应用open而不是execproc.

edit3.Text:=floattostr(adostoredproc1.Parameters0.Value);

end;

{利用adoquery调用sqlserver表值函数}

procedureTForm1.Button2Click(Sender:TObject);

begin

adoquery1.Close;

adoquery1.SQL.Clear;

adoquery1.SQL.Add('select*fromdbo.tt(:a)');

adoquery1.Parameters0.Value:=edit1.Text;

adoquery1.Prepared:=true;

adoquery1.Open;

//edit3.Text:=inttostr(adoquery1.Parameters0.Value);

11end;

相关推荐
牧竹子1 分钟前
当前支持向量的主流数据库情况对比
数据库
Small-Young1 小时前
数据库乐观锁深度解析:MySQL、PostgreSQL 实战 + Spring Boot 集成指南
数据库·spring boot·mysql·postgresql·乐观锁·并发控制
浮生若城2 小时前
MySQL 数据库基础
数据库·mysql
香蕉大香蕉(06敬畏市场)2 小时前
MySQL 单点详解(09)
java·数据库·mysql·面试·八股·大厂实习
瀚高PG实验室2 小时前
瀚高数据库运行日志(错误日志)查看与分析方法
数据库·postgresql·瀚高数据库
snow@li2 小时前
PostgreSQL:PostgreSQL(PG)全景深度梳理
数据库·postgresql
java_nnnn2 小时前
Spring IoC & DI 从入门到理解:控制反转、依赖注入与 Bean 管理详解
数据库·sql·spring
瀚高PG实验室3 小时前
HGHAC集群版本升级
数据库·postgresql·瀚高数据库
品牌常新3 小时前
室外巡检机器人推荐:园区与厂区怎么选
数据库·人工智能·机器人
snow@li3 小时前
redis:RedisDesktopManager(RDM/RESP.app)Redis 数据可视化全景深度梳理
数据库·redis·缓存