with ADOQuery1 do
    begin
      sSQL:='update products set Name = :Name where ID = :ID';
      Parameters.ParamByName('Name').Value:=trim(Edit2.Text);
      Parameters.ParamByName('ID').Value:=trim(DBEdit1.Field.AsString);
      if Active then
        close;
      SQL.Clear;
      SQL.Add(sSQL);
      execSQL;
      ModifyForm.close;
    end;错误:‘Name’not found!
为什么会出现这种错误?哪里出错了?

解决方案 »

  1.   

    Name可能是数据库中的保留关键字,所以你可以换个名字试一下
      

  2.   

    欢迎加入群12810414讨论开发技术,C++,DELPHI,数据库,windows底层,C,.net,javascript,网页,ASP,ASP.net.来入的请注明,"我不是菜鸟"
    最少熟悉其中一种.
      

  3.   

    with ADOQuery1 do
        begin
          sSQL:='update products set Name = :Name where ID = :ID';
          if Active then
            close;
          SQL.Clear;
          SQL.Add(sSQL);
          Parameters[0].value:=trim(Edit2.Text);
          Parameters[1].value:=trim(DBEdit1.Field.AsString);
          execSQL;
          ModifyForm.close;
        end;
      

  4.   

    with ADOQuery1 do
        begin
          sSQL:='update products set Name = :Name where ID = :ID';
          if Active then
            close;
          SQL.Clear;
          SQL.Add(sSQL);
          Parameters[0].value:=trim(Edit2.Text);
          Parameters[1].value:=trim(DBEdit1.Field.AsString);
          execSQL;
          ModifyForm.close;
        end;
    ---------------------------------------
    不行!这次提示的不知道是什么错误,好像是内存的问题。
      

  5.   

    with ADOQuery1 do
        begin
          sSQL:='update products set Name = :Na where ID = :ID';
          Parameters.ParamByName('Na').Value:=trim(Edit2.Text);
          Parameters.ParamByName('ID').Value:=trim(DBEdit1.Field.AsString);
          if Active then
            close;
          SQL.Clear;
          SQL.Add(sSQL);
          execSQL;
          ModifyForm.close;
        end;//试试看;
      

  6.   

    上面的错了
    with ADOQuery1 do
        begin
          sSQL:='update products set Name = :Name where ID = :ID';
          if Active then
            close;
          SQL.Clear;
          SQL.Add(sSQL);
         Parameters.ParamByName('Name').Value:=trim(Edit2.Text);
          Parameters.ParamByName('ID').Value:=trim(DBEdit1.Field.AsString);
          execSQL;
         ModifyForm.close;
        end;
      

  7.   

    with ADOQuery1 do
        begin
          Close;
          SQL.Add('update products set Name = :Na where ID = :ID');
          Parameters.ParamByName('Na').Value:=trim(Edit2.Text);
          Parameters.ParamByName('ID').Value:=trim(DBEdit1.Field.AsString);
          execSQL;
        end;
    试一下吧。
      

  8.   

    应该是楼上的这个样子,如果是内存错,可能是类型不匹配什么的,楼主再检查,语法肯定不错。
    数据库里面的字段最好不要设name之类的名字。