我做了是三层的架构,所以必须用ClientDataSet1来调用oracel返回带参数存储过程?我已经写了一个oracel存储过程,是传两个字符参数进去后返回一个数字参数(这个存储过程在PL/SQL里已经测试通过了)!我用ClientDataSet1写了一段代码进行调用但没法执行,麻烦各位大哥们帮忙看看,小弟万分感谢!procedure TForm1.Button1Click(Sender: TObject);
begin
ClientDataSet1.Close;
ClientDataSet1.Params.Clear;
ClientDataSet1.CommandText:='{call PackageName.sp_login(?,?)}';
ClientDataSet1.Params.CreateParam(ftString, 'a',ptinput);
ClientDataSet1.Params[0].Size:=400;
ClientDataSet1.Params[0].AsString:= '1065811';
ClientDataSet1.Params.CreateParam(ftString, 'b',ptinput);
ClientDataSet1.Params[1].Size:=400;
ClientDataSet1.Params[1].AsString:= '7900181';
ClientDataSet1.Params.CreateParam(ftInteger, 'c',ptOutput);
ClientDataSet1.Params[2].Size:=10;
ClientDataSet1.Execute;
Edit1.Text:=inttostr( ClientDataSet1.Params[2].asInteger);end;
begin
ClientDataSet1.Close;
ClientDataSet1.Params.Clear;
ClientDataSet1.CommandText:='{call PackageName.sp_login(?,?)}';
ClientDataSet1.Params.CreateParam(ftString, 'a',ptinput);
ClientDataSet1.Params[0].Size:=400;
ClientDataSet1.Params[0].AsString:= '1065811';
ClientDataSet1.Params.CreateParam(ftString, 'b',ptinput);
ClientDataSet1.Params[1].Size:=400;
ClientDataSet1.Params[1].AsString:= '7900181';
ClientDataSet1.Params.CreateParam(ftInteger, 'c',ptOutput);
ClientDataSet1.Params[2].Size:=10;
ClientDataSet1.Execute;
Edit1.Text:=inttostr( ClientDataSet1.Params[2].asInteger);end;
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货