gpt4 book ai didi

delphi - 如何将参数传递给 ADOQuery 对象?

转载 作者:行者123 更新时间:2023-12-03 15:27:44 30 4
gpt4 key购买 nike

我在 Delphi 7 和 Oracle 中使用 ADOQuery。我在将参数传递给 ADOQuery 时遇到错误。我用过以下行。请帮我找出错误。

ADOQuery.Sql.text:= 'select * from temp_table '+
'where column1 in (select column from table2 where id=:id) and id=:id';
ADOQuery.Parameters.ParamByValue('id').value= 'abc';
ADOQuery.open;

当我打开查询时,我会收到以下错误:

Parameter object is improperly defined. Inconsistent or incomplete information is provided.

最佳答案

我们有同样的问题,我们结束了“屏蔽”类 TParameters,如下所示:

声明:

TMyParameter = class(TParameter)
private
function GetAsValue: variant;
Procedure SetAsValue(const Value: variant);
public
property Value: variant read GetAsValue write SetAsValue;
end;

实现:

procedure TMyParameter.SetAsValue(const Value: variant);
var
iPar: Integer;

begin
for iPar:= 0 to Collection.Count - 1 do
if (Name = TParameter(Collection.Items[iPar]).Name) then
TParameter(Collection.Items[iPar]).Value:= Value;
end;

function TMyParameter.GetAsValue: variant;
begin
Result:= inherited Value;
end;

以及如何使用:

TMyParameter(ADOQuery.Parameters.ParamByName('id')).AsValue:= 'abc';

希望对您有所帮助。

关于delphi - 如何将参数传递给 ADOQuery 对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7754345/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com