Delphi写Sql2000扩展存储过程的例子
来源:互联网 发布:苹果电脑性能测评软件 编辑:程序博客网 时间:2024/04/29 00:04
library project1;
uses
Windows,
SysUtils,
MSODSApi;
{$R *.res}
Function GetParamStr(pSrvProc: SRV_PROC; Index : integer; Var Param : String ) : integer;
var
PType : Byte;
cbMaxLen , ParaLen : DWORD;
IsNULL : BOOL;
begin
Result := NO_ERROR;
srv_paraminfo(pSrvProc, index, @PType, @cbMaxLen, @ParaLen, NIL, @IsNULL);
if PType in [SRVTEXT,SRVVARCHAR,SRVCHAR,SRVNTEXT,
SRVBIGVARCHAR,SRVBIGCHAR,SRVNVARCHAR,SRVNCHAR] then
begin
Param := '''';
if ParaLen>0 then begin
SetLength(Param , ParaLen);
srv_paraminfo(pSrvProc, index, @PType, @cbMaxLen, @ParaLen, @Param[1], @IsNULL);
end;
end
else begin
Result := -1;
end;
end;
Function EpPackFile(pSrvProc: SRV_PROC) : integer;cdecl;
var
ls1,ls2,ls3 : String;
n : integer;
begin
Result := 1;
n := srv_rpcparams(pSrvProc);
if n <> 3 then begin
// 不是3个参数
end;
if (GetParamStr(pSrvProc,1,ls1)<>NO_ERROR) then begin
// 不是字符串
end;
if (GetParamStr(pSrvProc,2,ls2)<>NO_ERROR) then begin
// 不是字符串
end;
if (GetParamStr(pSrvProc,3,ls3)<>NO_ERROR) then begin
// 不是字符串
end;
n := Length(ls1);
srv_describe(pSrvProc, 1 , ''参数'', SRV_NULLTERM, SRVBIGVARCHAR,
n, SRVBIGVARCHAR, n, NIL);
srv_setcoldata(pSrvProc, 1 , @ls1[1]);
srv_sendrow(pSrvProc);
srv_setcoldata(pSrvProc, 1 , @ls2[1]);
srv_sendrow(pSrvProc);
srv_setcoldata(pSrvProc, 1 , @ls3[1]);
srv_sendrow(pSrvProc);
srv_senddone(pSrvProc, (SRV_DONE_COUNT or SRV_DONE_MORE), 0, 1);
end;
exports
EpPackFile Name ''xp_EpPackFile'';
begin
end.
编译后放入binn目录,在sql中添加并测试,代码如下:
Use Master;
IF object_id(''xp_EpPackFile'') IS NOT NULL EXEC sp_dropextendedproc ''xp_EpPackFile'';
EXEC sp_addextendedproc ''xp_EpPackFile'', ''project1.dll'';
EXEC master..xp_EpPackFile ''aa'',''bb'',''cc'';
EXEC sp_dropextendedproc ''xp_EpPackFile'';
DBCC SPEncrypt(FREE);
- Delphi写Sql2000扩展存储过程的例子
- Delphi写Sql2000扩展存储过程的例子
- Delphi写Sql2000扩展存储过程的例子
- Delphi写的SQL Server扩展存储过程
- 我写的存储过程报表sql2000
- SQL2000 存储过程中实现递归的一个简单例子
- 发一个以前写的sql2000的分页存储过程。。
- sql2000写的一个头痛的存储过程
- 解密SQL2000的存储过程
- SQL2000存储过程的基础教程
- 解密SQL2000的存储过程
- sql2000的分页存储过程
- 解密SQL2000的存储过程
- SQL2000存储过程的基础
- SQL2000存储过程的基础
- SQL2000存储过程的基础
- SQL2000存储过程的基础
- SQL2000存储过程的基础教程
- 转 赖勇浩:从一道笔试题谈算法优化(上)
- Windows Mobile 6 SDK 中的 Cellular Emulator
- 真没劲啊
- IAR5.4 + UCOSII2.86 编译os_cpu_a.asm 错误 Branch to unaligned addre解决方案
- 主题:Invalid char "/357" in expression
- Delphi写Sql2000扩展存储过程的例子
- 传智播客Hibernate视频教程学习笔记27
- 判断sql中有没有重复项
- 关注的Blog
- 2个判断重复 or
- 用 Apache Derby 进行开发 —— 取得节节胜利: 使用 Apache Derby 进行数据库开发,第 1 部分
- Ring Tone Manager on Windows Mobile
- OLAP安全访问的层次化设计与实现
- NC语录