我想在query组件里执行sql数据库服务器里的一个存储过程
该组件的sql属性里要这样设定
输出参数变量 数据类型[,.......]
EXECUTE 存储过程名 输入参数[,...[输出参数变量 OUTPUT[,....]]]
但是我怎么样去赋值呢?以及怎样去获得输出变量的值呢?
该组件的sql属性里要这样设定
输出参数变量 数据类型[,.......]
EXECUTE 存储过程名 输入参数[,...[输出参数变量 OUTPUT[,....]]]
但是我怎么样去赋值呢?以及怎样去获得输出变量的值呢?
scmd:='过程名(参数1,参数2)';(记得字符参数要打''哟)
query.sql.clear;
query.sql.add('begin);
query.sql.add(scmd+';');
query.sql.add('end;');
query.prepare;
query.execsql;
(能用的话记得要给分哟)
qry.Close;
qry.SQL.Clear;
qry.SQL.Add('Begin');
qry.SQL.Add('EXP_FROM_UNIX_XS(:gsdw,:readdate,:retint,:retmsg);');
//这是过程名,注意有‘;’号
Qry.SQL.Add('End;');//这里也有';’号
qry.Parameters[0].Value := gsdw;
qry.Parameters[1].Value := readate;
qry.Parameters[2].Direction := pdOutput;//输出参数
qry.Parameters[3].Direction := pdOutput;
qry.Parameters[2].Value := '####';//输出参数赋值,用#代替
qry.Parameters[3].Value := '####';
qry.Prepared;
qry.ExecSQL;