ADOQuerySelect.Close;
ADOQuerySelect.SQL.Add(' AND (дата_заказа between #'+dat+'# and #'+da+'#)');
if ComboBox6.Text <> '' then
begin
ADOQuerySelect.Parameters.ParamByName('Name').Value := ComboBox6.Text ;
ADOQuerySelect.SQL.Add(' AND (Наименование = :Name)');
end;
ADOQuerySelect.Open;
我使用Delphi 2007,MS Access。我现在不知道如何使用参数。在这段代码上,我有错误:找不到参数名称。我尝试了许多其他代码变体,但它们都无法正常工作。我通过GUI添加参数Name,数据类型为ftstring;
答案 0 :(得分:3)
更改代码中的SQL会清除现有参数,因此在您尝试设置其值时,没有名为“Name”的参数。然后创建Name
参数,但为时已晚。
更改陈述的顺序:
ADOQuerySelect.Close;
ADOQuerySelect.SQL.Add(' AND (дата_заказа between #'+dat+'# and #'+da+'#)');
if ComboBox6.Text <> '' then
begin
ADOQuerySelect.SQL.Add(' AND (Наименование = :Name)');
ADOQuerySelect.Parameters.ParamByName('Name').Value := ComboBox6.Text ;
end;
ADOQuerySelect.Open;
您应该使用所有替换的参数BTW。让数据库驱动程序为您处理转换和日期格式以及引用值和所有这些。
答案 1 :(得分:1)
在对象检查器中,ADOQuerySelect应该有&#39; Name&#39;在参数列表中。
您还可以使用以下代码创建参数&#39; Name&#39;:
with ADOQuerySelect.Parameters.AddParameter do
begin
Name := 'Name';
DataType := ftString;
end;