社区
数据库相关
帖子详情
ADOStoredProc的问题,高手请进!
sususu
2003-04-19 12:54:46
为什么ADOStoredProc.ProcedureName为'过程名'+';1'即:('procedurename;1')这种形式出现呢?
...全文
36
6
打赏
收藏
ADOStoredProc的问题,高手请进!
为什么ADOStoredProc.ProcedureName为'过程名'+';1'即:('procedurename;1')这种形式出现呢?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
6 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
wjlsmail
2003-04-19
打赏
举报
回复
同组中的序号只有在静态设定时可以看到; 改变 ProcdureName 时不加 ';1/n' 的
wjlsmail
2003-04-19
打赏
举报
回复
可以设置同一个名字的存储过程(实际为同组不同的存储过程)
------------------------------------------------------------------
如果将一个不同的标识号赋予某过程,则可以用与现有某存储过程相同的名称创建该过程,这样可允许将这些过程进行逻辑分组。同名的分组过程可以同时删除。在同一应用程序中使用的过程一般都以该方式分组。例如,用于 my_app 应用程序的过程可能被命名为 my_proc;1、my_proc;2 等。删除 my_proc 即删除该整个组。将过程分组后,就无法删除该组内的单个过程。
sususu
2003-04-19
打赏
举报
回复
并且加';1'和不加';1'都能运行!
sususu
2003-04-19
打赏
举报
回复
当设置好ADOStoredProc.connection后,点选ADOStoredProc.ProcedureName时出现所连数据库的过程名后加';1'符号!
jiezhi
2003-04-19
打赏
举报
回复
没有见过这样的写法,你能写完整些吗?
sususu
2003-04-19
打赏
举报
回复
有人能告诉 ;1 的意思是什么吗?
delphi7调用oracle存储过程实例
DELPHI通过创建
ADO
STORE
D
PROC
调用ORACLE数据库实例。
delphi如何调用sql存储过程,并获取结果
delphi如何调用sql存储过程,并获取结果
ado
store
d
proc
1.Close;
ado
store
d
proc
1.
Proc
edureName:='sp_thchl';
ado
store
d
proc
1.Parameters.Clear;
ado
store
d
proc
1.Parameters.CreateParameter('out',ftInteger,pdoutput,1,1);
ado
store
d
proc
1.Exec
Proc
; edit1.Text :=
ado
store
d
proc
1.Parameters[0].Value;
Delphi使用
ADO
连接池(存储过程示例)
一个使用
ADO
连接池的示例,演示了T
ADO
Store
d
Proc
动态参数的使用,带重连机制 =================== unit UnitDemo; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls; type TForm2 = class(TForm) Button1: TButton;
proc
edure Button1Click(Sender: TObject);
proc
edure FormCreate(Sender: TObject);
proc
edure FormDestroy(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form2: TForm2; //数据库服务器 gDBServer: String = '127.0.0.1'; //数据库名称 gDBName: String = 'master'; //数据库用户名 gDBUser: String = 'sa'; //密码 gDBPass: String = '2001'; implementation {$R *.dfm} uses
ADO
DB, Unit
ADO
ConnectionPool; const CreateSQL = 'create
proc
edure TestMyPool (@type sysname) '#13#10+ 'as'#13#10+ 'select * from sysobjects where xtype=@type'#13#10+ 'return @@rowcount'; DeleteSQL = 'if Exists(select 1 from sysobjects where xtype=N''P'' and name=N''TestMyPool'')'#13#10+ ' drop
proc
edure TestMyPool'; var gPoolMan: T
ADO
ConnPoolMan = Nil;
proc
edure TForm2.Button1Click(Sender: TObject); var
ADO
Object:T
ADO
ConnPoolObject;
ADO
Store
d
Proc
:T
ADO
Store
d
Proc
; Running :Integer; I: Integer; begin //取得一个存储过程资源(含一数据库有效连接)
ADO
Object := gPoolMan.CreateSP('TestMyPool'); if
ADO
Object = Nil then //取得资源失败 Exit; try
ADO
Store
d
Proc
:=
ADO
Object.ExecObject as T
ADO
Store
d
Proc
; Running := 2;//允许重试(两次)操作,以便在操作失败之后达到重连 while Running>0 do begin Dec(Running); if
ADO
Object.NeedRefresh then begin//判断是否有重连标志(比如数据库断开等,可能需要进行重连) if Not
ADO
Object.Reconnect then Exit;
ADO
Object.NeedRefresh := Not
ADO
Store
d
Proc
.Parameters.Refresh; if
ADO
Object.NeedRefresh then Exit; end; for I := 1(*Zero is the *Result* Parameter*) to
ADO
Store
d
Proc
.Parameters.Count - 1 do begin //========================= //传递参数
ADO
Store
d
Proc
.Parameters.Items[I].Value := 'U'; //========================= end; if Running 0 then try //执行存储过程
ADO
Store
d
Proc
.Open; //执行存储过程成功,退出循环进入后续的数据处理 break; except On E:Exception do begin //执行失败非程序级的异常通常有两种可能: //1.数据库连接断开 //2.自适合的参数传递当中可能存储过程已更新,参与不一致 //设置重连标志
ADO
Object.NeedRefresh := True; //=================== //这里记录数据库操作失败日志 //=================== end; end; Exit; end; //========================== //从
ADO
Store
d
Proc
当中读取记录 ShowMessage(IntToStr(
ADO
Store
d
Proc
.Parameters.ParamByName('Result').Value)); //========================== //关闭存储对象的资源
ADO
Store
d
Proc
.Close; finally //调用结束,释放资源
ADO
Object.Free; end; end;
proc
edure TForm2.FormCreate(Sender: TObject); var
ADO
Conn:T
ADO
Connection; begin (****************BEGIN*******************) (*注:仅为测试准备 *) //初始化测试环境
ADO
Conn := Nil; if Not T
ADO
ConnPoolMan.Connect
ADO
( gDBServer,gDBUser,gDBPass,gDBName,true,
ADO
Conn) then Exit; try
ADO
Conn.Execute(DeleteSQL);
ADO
Conn.Execute(CreateSQL); finally try
ADO
Conn.Close; except end;
ADO
Conn.Free; end; (*****************END********************) //初始化连接池 gPoolMan := T
ADO
ConnPoolMan.Create(gDBServer,gDBUser,gDBPass,gDBName,true); end;
proc
edure TForm2.FormDestroy(Sender: TObject); var
ADO
Conn:T
ADO
Connection; begin //释放连接池 if Assigned(gPoolMan) then gPoolMan.Free; (****************BEGIN*******************) (*注:仅为测试准备 *) //清理测试环境
ADO
Conn := Nil; if Not T
ADO
ConnPoolMan.Connect
ADO
( gDBServer,gDBUser,gDBPass,gDBName,true,
ADO
Conn) then Exit; try
ADO
Conn.Execute(DeleteSQL); finally try
ADO
Conn.Close; except end;
ADO
Conn.Free; end; (*****************END********************) end; end.
STORE
_
PROC
.rar
本程序实现了简单的存储过程的调用,在控件
ADO
Store
d
Proc
1中,输入存储过程名和参数执行,注意参数的 IN OUT ,还可以用
ADO
Query1 实现。
Delphi.
ADO
数据库连接
DELPHI常用连接数据库方式
ADO
Connection:数据库连接
ADO
Command:无返回数据集的sql命令。
ADO
DataSet:集合和表、查询、存储过程集合。
ADO
Table:通过表查询
ADO
Query:通过sql命令查询或执行。
ADO
Store
d
Proc
:存储过程。
数据库相关
2,497
社区成员
88,445
社区内容
发帖
与我相关
我的任务
数据库相关
Delphi 数据库相关
复制链接
扫一扫
分享
社区描述
Delphi 数据库相关
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章