ADOQuery1.Close;
   ADOQuery1.SQL.Clear;
   ADOQuery1.SQL.Add('select * from ps.v_city');
   ADOQuery1.Open;//  showmessage(inttostr(adoquery1.RecordCount));   for i:=0 to adoquery1.RecordCount-1 do
   begin      Qweb.Close;
      Qweb.SQL.Clear;
      Qweb.SQL.Add('insert into city values(u1=:u1,u2=:u2)');
      Qweb.FieldByName('u1').AsString:=Adoquery1.paramByname('code').AsString;
      Qweb.FieldByName('u2').AsString:=Adoquery1.paramByname('c_name').AsString;
      Qweb.ExecSQL;提示PARAMBYNAME出问题

解决方案 »

  1.   

    兄弟,你的
    Qweb.FieldByName('u1').AsString:=Adoquery1.paramByname('code').AsString;
          Qweb.FieldByName('u2').AsString:=Adoquery1.paramByname('c_name').AsString;
    搞错了,你应该这样写
    Qweb.paramByname('u1').AsString:=Adoquery1.FieldByName('code').AsString;
          Qweb.paramByname('u2').AsString:=Adoquery1.FieldByName('c_name').AsString
      

  2.   

    Qweb.SQL.Add('insert into city (u1,u2)values(:u1,:u2)');
      

  3.   

    我现在写成这样了   ADOQuery1.Close;
       ADOQuery1.SQL.Clear;
       ADOQuery1.SQL.Add('select * from ps.v_city');
       ADOQuery1.Open;//  showmessage(inttostr(adoquery1.RecordCount));   for i:=0 to adoquery1.RecordCount-1 do
       begin
        Qweb.close;
        qweb.SQL.clear;
        qweb.SQL.add('select * from city');
        qweb.Open;
        qweb.Insert;
        qweb.fields[0].AsString:=Adoquery1.Fieldbyname('code').Asstring;
        qweb.Fields[1].AsString:=Adoquery1.fieldbyname('c_name').AsString;
        qweb.Post;
        qweb.Close;
        adoquery1.Next;
       end;
      

  4.   

    如果ps.v_city增加了数据,而要更新city怎么办??
      

  5.   

    一样的呀,这和你表在不在一起没关系呀,因为你操作的是本地QUERY呀,两个QUERY同时进行增加不就行了