用easysoft odbc驱动和iboledb驱动都不行(为了程序的兼容性不考虑IBStoredProc)
interbase存储过程:
CREATE PROCEDURE "GETNEWID" ("IDTYPE" INTEGER)RETURNS("NEXTID" INTEGER)
AS
begin
select nextcard from test into :NextID;
update test set nextcard = nextcard +1;
exit;
end
BCB调用程序
TADOStoredProc *pTmp = new TADOStoredProc(this);
pTmp->Connection = ADOConn;
pTmp->ProcedureName = "GETNEWID";
pTmp->Parameters->Refresh();
//TParameter *p1 = pTmp->Parameters->AddParameter();
//p1->Name = "IDTYPE";
//p1->DataType = ftInteger;
//p1->Direction = pdInput;
//TParameter *p2 = pTmp->Parameters->AddParameter();
//p2->Name = "NEXTID";
//p2->DataType = ftInteger;
//p2->Direction = pdOutput;
pTmp->Parameters->ParamByName("IDTYPE")->Value =1;
//pTmp->Parameters->ParamByName("NEXTID")->Value = -1;
pTmp->ExecProc();
int id =pTmp->Parameters->ParamByName("NEXTID")->Value;
ShowMessage(IntToStr(id));
}
interbase存储过程:
CREATE PROCEDURE "GETNEWID" ("IDTYPE" INTEGER)RETURNS("NEXTID" INTEGER)
AS
begin
select nextcard from test into :NextID;
update test set nextcard = nextcard +1;
exit;
end
BCB调用程序
TADOStoredProc *pTmp = new TADOStoredProc(this);
pTmp->Connection = ADOConn;
pTmp->ProcedureName = "GETNEWID";
pTmp->Parameters->Refresh();
//TParameter *p1 = pTmp->Parameters->AddParameter();
//p1->Name = "IDTYPE";
//p1->DataType = ftInteger;
//p1->Direction = pdInput;
//TParameter *p2 = pTmp->Parameters->AddParameter();
//p2->Name = "NEXTID";
//p2->DataType = ftInteger;
//p2->Direction = pdOutput;
pTmp->Parameters->ParamByName("IDTYPE")->Value =1;
//pTmp->Parameters->ParamByName("NEXTID")->Value = -1;
pTmp->ExecProc();
int id =pTmp->Parameters->ParamByName("NEXTID")->Value;
ShowMessage(IntToStr(id));
}
解决方案 »
- delphi中如何实现图片编辑???
- 有关Query 的一个问题
- SQL SERVER 数据库 更新数据 update table set A=B,如果字段A的数据类型为image!请问应该怎么处理?
- Delphi中句柄是什么意思?
- 数据包的捕获问题
- delphi能否编出网络执法官那样的软件
- 一个菜鸟问题~panel1.visible:=not (panel1.visible )?怎么理解?
- 怎样用动态创建dbf的数据库
- 如何把dbgrid中有数据时背后的方格线去掉?
- 执行存储过程报错:"Indicator variable required but not supplied",why?
- 有关checkbox空件。。。。
- ImageList图片透明显示问题,XP下,16位色显示属性和32色显示属性显示不同。
//p2->DataType = ftInteger;
//p2->Direction = pdOutput........................修改//p2->Name = "NEXTID";
//p2->DataType = ftInteger;
//p2->Direction = pdReturnValue;