小雅爱喝可乐 發表於 2020-9-16 14:54:00

Delphi TADOStoredProc [1] 的使用

<p><span style="font-size: 16px"><strong>Delphi TADOStoredProc 的使用</strong></span></p>
<p><span style="font-size: 16px"><strong>1、介绍</strong></span></p>
<p><span style="font-size: 16px">  TADOStoredProc 存储过程组件</span></p>
<p><span style="font-size: 16px"><strong>2、常用参数</strong></span></p>
<ul>
<li><span style="font-size: 16px">ProcedureName&nbsp; &nbsp; //存储过程名称</span></li>
<li><span style="font-size: 16px">Parameters&nbsp; &nbsp;  //参数设置  例如:Parameters.ParamByName('@a1').Value</span></li>
<li><span style="font-size: 16px">ExecProc;&nbsp;   //执行存储过程</span></li>
</ul>
<p><span style="font-size: 16px"><strong>3、操作示例:</strong></span></p>
<p><span style="font-size: 16px">3.1&nbsp;动态参数序号赋值</span></p>
<div class="cnblogs_Highlighter">
<pre class="brush:delphi;gutter:true;"><span style="font-size: 16px">DataSource1.DataSet:=ADOStoredProc1;
with ADOStoredProc1 do
begin
Close;
ProcedureName:='存储过程名称';
Parameters.Refresh;
Parameters.Value:=传值1;
Parameters.Value:=传值2;
Open;
end; </span></pre>
</div>
<p><span style="font-size: 16px">3.2 动态参数名称赋值</span></p>
<div class="cnblogs_Highlighter">
<pre class="brush:delphi;gutter:true;"><span style="font-size: 16px">DataSource1.DataSet:=ADOStoredProc1;
with ADOStoredProc1 do
begin
Close;
ProcedureName:='存储过程名称';
Parameters.Refresh;
Parameters.ParamByName('@a1').Value:=传值1;
Parameters.ParamByName('@a2').Value:=传值2;
Open;
end; </span></pre>
</div>
<p><span style="font-size: 16px">3.3 取存储过程返回值 </span></p>
<div class="cnblogs_Highlighter">
<pre class="brush:delphi;gutter:true;"><span style="font-size: 16px">with ADOStoredProc1 do
begin //取存储过程返回值
Close;
ProcedureName:='带返回值的存储过程';
Parameters.Refresh;
Parameters.ParamByName('@a1').Value:=传值1;
Parameters.ParamByName('@fanhui').Value:=null;
ExecProc;
Edit1.Text:=Parameters.ParamByName('@fanhui').Value;
end;
</span></pre>
</div>
<p><span style="font-size: 16px">3.4 取返回的多个结果集</span></p>
<div class="cnblogs_Highlighter">
<pre class="brush:delphi;gutter:true;"><span style="font-size: 16px">var
    i:integer;
begin
DataSource1.DataSet:=ADODataSet1;
with ADOStoredProc1 do
begin
    Close;
    ProcedureName:='存储过程';
    Open;
    ADODataSet1.Recordset:=ADOStoredProc1.Recordset;
    ADODataSet1.Recordset:=ADOStoredProc1.NextRecordset(i);//下一个结果集
end;
end;
</span></pre>
</div>
<p><span style="font-size: 16px">  </span></p>
<p>&nbsp;</p>
<p><span style="color: rgba(136, 136, 136, 1)">创建时间:2020.09.16  更新时间:</span></p>
<p>&nbsp;</p>

</div>
<div id="MySignature" role="contentinfo">
    博客园 滔Roy https://www.cnblogs.com/guorongtao 希望内容对你有所帮助,谢谢!<br><br>
来源:https://www.cnblogs.com/guorongtao/p/13679121.html
頁: [1]
查看完整版本: Delphi TADOStoredProc [1] 的使用