CREATE OR REPLACE PROCEDURE pro_lee01(in_a IN NUMBER,out_01 OUT NUMBER,cur_01 OUT p_lee01.cur_lee01) IS
BEGIN
out_01 := 3;
OPEN cur_01 FOR
SELECT * FROM TLEE01;
dbms_output.put_line(IN_a);
END;
以上為Oracle的存盤程序,使用ODAC呼叫程序查詢,其中有個游標輸出引數cur_01,請問這個游標引數在Delphi客戶端如何處理?
procedure TForm1.Button9Click(Sender: TObject);
var
s: string;
begin
s := 'begin pro_lee01(:a,:b,:cur_01 ); end;';
OraQuery1.SQL.Clear;
OraQuery1.SQL.Add(s);
OraQuery1.AutoCommit := false;
OraQuery1.FetchAll := true;
OraQuery1.ParamByName('a').value := 4;
OraQuery1.ParamByName('b').ParamType := ptoutput;
OraQuery1.ParamByName('b').DataType:= ftinteger;
OraQuery1.ParamByName('cur_01').ParamType := ptoutput;
OraQuery1.ParamByName('cur_01').DataType:= ftcursor; //這個游標輸出是個多欄位的結果集,在客戶端如何拆分顯示?
OraQuery1.Open;
showmessage(OraQuery1.ParamByName('b').AsString); //顯示回傳值
ShowValue(OraQuery1, Button8.Caption);
end;
客戶端用ODAC的Query呼叫查詢,其中游標輸出引數cur_01是個多欄位結果集,客戶端如何處理這個游標顯示結果集中的多個欄位?
uj5u.com熱心網友回復:
自個頂一下吧,各位轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/130151.html
標籤:數據庫相關
