Delphi TADOStoredProc [2] Parameters 介绍
<p><span style="font-size: 12px; color: rgba(136, 136, 136, 1)">{该文首发于博客园 <span style="color: rgba(136, 136, 136, 1)">滔Roy</span>,无须授权即可转载,请自觉保留头部申明}</span></p><p><span style="font-size: 16px"><strong>Delphi TADOStoredProc Parameters 介绍</strong></span></p>
<p><span style="font-size: 16px"><strong>1、常用参数:</strong></span></p>
<ul>
<li><span style="font-size: 16px">Clear //清空</span></li>
<li><span style="font-size: 16px">Refresh //初始化参数</span></li>
<li><span style="font-size: 16px">ParamByName //传递参数值</span></li>
<li><span style="font-size: 16px">CreateParameter //创建参数值</span></li>
<li><span style="font-size: 16px">ParamValues[] </span></li>
<li><span style="font-size: 16px">AddParameter</span></li>
<li><span style="font-size: 16px">FindParam</span></li>
<li><span style="font-size: 16px">Command</span></li>
<li><span style="font-size: 16px">Items[]</span></li>
<li><span style="font-size: 16px">Count</span></li>
</ul>
<p><span style="font-size: 16px"><strong>2、主要使用参数介绍</strong></span></p>
<p><span style="font-size: 16px"><strong>2.1 ParamByName</strong></span></p>
<p><span style="font-size: 16px">原型:</span></p>
<div class="cnblogs_Highlighter">
<pre class="brush:delphi;gutter:true;"><span style="font-size: 16px">function TParameters.ParamByName(const Value: WideString): TParameter;
function GetComponent: TComponent;
begin
Result := GetCommand;
if Assigned(Result) and (Result.Owner is TCustomADODataSet) then
Result := Command.Owner;
end;
begin
Result := FindParam(Value);
if Result = nil then
DatabaseErrorFmt(SParameterNotFound, , GetComponent);
end;</span></pre>
</div>
<p><span style="font-size: 16px">使用示例:</span></p>
<div class="cnblogs_Highlighter">
<pre class="brush:delphi;gutter:true;"><span style="font-size: 16px">Parameters.ParamByName('@aa1').Value:=1; //传递数值
Parameters.ParamByName('@aa1').Value:='你好'; //传递文本 </span></pre>
</div>
<p><span style="font-size: 16px"><strong>2.2 CreateParameter </strong></span></p>
<p><span style="font-size: 16px">原型:</span></p>
<div class="cnblogs_Highlighter">
<pre class="brush:delphi;gutter:true;"><span style="font-size: 16px">function TParameters.CreateParameter(const Name: WideString;
DataType: TDataType; Direction: TParameterDirection; Size: Integer;
Value: OleVariant): TParameter;
begin
Result := AddParameter;
Result.FParameter := Create_Parameter(Name, DataType, Direction, Size);
{ Don't try to assign value when it is an EmptyParam (used when optional) }
if not ((TVarData(Value).VType = varError) and
(TVarData(EmptyParam).VError = $80020004)) then
Result.FParameter.Value := Value;
end; </span></pre>
</div>
<p><span style="font-size: 16px">主要参数介绍:</span></p>
<p><span style="font-size: 16px"> TDataType = TFieldType:</span></p>
<ul>
<li><span style="font-size: 16px">ftUnknown, </span></li>
<li><span style="font-size: 16px">ftString, </span></li>
<li><span style="font-size: 16px">ftSmallint,</span></li>
<li><span style="font-size: 16px"> ftInteger, </span></li>
<li><span style="font-size: 16px">ftWord,</span></li>
<li><span style="font-size: 16px"> ftBoolean, </span></li>
<li><span style="font-size: 16px">ftFloat,</span></li>
<li><span style="font-size: 16px"> ftCurrency,</span></li>
<li><span style="font-size: 16px"> ftBCD,</span></li>
<li><span style="font-size: 16px"> ftDate,</span></li>
<li><span style="font-size: 16px"> ftTime, </span></li>
<li><span style="font-size: 16px">ftDateTime,</span></li>
<li><span style="font-size: 16px"> ftBytes, </span></li>
<li><span style="font-size: 16px">ftVarBytes, </span></li>
<li><span style="font-size: 16px">ftAutoInc, </span></li>
<li><span style="font-size: 16px">ftBlob, </span></li>
<li><span style="font-size: 16px">ftMemo, </span></li>
<li><span style="font-size: 16px">ftGraphic,</span></li>
<li><span style="font-size: 16px"> ftFmtMemo,</span></li>
<li><span style="font-size: 16px"> ftParadoxOle, </span></li>
<li><span style="font-size: 16px">ftDBaseOle, </span></li>
<li><span style="font-size: 16px">ftTypedBinary, </span></li>
<li><span style="font-size: 16px">ftCursor, </span></li>
<li><span style="font-size: 16px">ftFixedChar, </span></li>
<li><span style="font-size: 16px">ftWideString,</span></li>
<li><span style="font-size: 16px"> ftLargeint, </span></li>
<li><span style="font-size: 16px">ftADT, </span></li>
<li><span style="font-size: 16px">ftArray, </span></li>
<li><span style="font-size: 16px">ftReference, </span></li>
<li><span style="font-size: 16px">ftDataSet, </span></li>
<li><span style="font-size: 16px">ftOraBlob, </span></li>
<li><span style="font-size: 16px">ftOraClob,</span></li>
<li><span style="font-size: 16px"> ftVariant, </span></li>
<li><span style="font-size: 16px">ftInterface, </span></li>
<li><span style="font-size: 16px">ftIDispatch, </span></li>
<li><span style="font-size: 16px">ftGuid, </span></li>
<li><span style="font-size: 16px">ftTimeStamp,</span></li>
<li><span style="font-size: 16px"> ftFMTBcd</span></li>
</ul>
<p><span style="font-size: 16px">TParameterDirection:</span></p>
<ul>
<li><span style="font-size: 16px">pdUnknown, </span></li>
<li><span style="font-size: 16px">pdInput, </span></li>
<li><span style="font-size: 16px">pdOutput, </span></li>
<li><span style="font-size: 16px">pdInputOutput,</span></li>
<li><span style="font-size: 16px"> pdReturnValue</span></li>
</ul>
<p><span style="font-size: 16px">Delphi 使用示例:</span></p>
<div class="cnblogs_Highlighter">
<pre class="brush:delphi;gutter:true;"><span style="font-size: 16px">with ADOStoredProc1 do
begin
Close;
ProcedureName:='存储过程'; //存储过程名称
Parameters.Clear; //清空参数 ,然后下面开始创建参数
Parameters.CreateParameter('@a1',ftInteger,pdInput,20,1);
Parameters.CreateParameter('@a2',ftString,pdInput,50,'你好');
Open; //返回结果集
end;
</span></pre>
</div>
<p><span style="font-size: 16px"> </span></p>
<p><span style="font-size: 16px">其他内容,有时间会补充 -- 2020.09.16</span></p>
<p> </p>
<p><span style="color: rgba(136, 136, 136, 1)">创建时间:2020.09.16 更新时间:</span></p>
<p> </p>
</div>
<div id="MySignature" role="contentinfo">
博客园 滔Roy https://www.cnblogs.com/guorongtao 希望内容对你有所帮助,谢谢!<br><br>
来源:https://www.cnblogs.com/guorongtao/p/13679265.html
頁:
[1]