update table a set a1=a2

解决方案 »

  1.   

    UPDATE a SET a1=a2
    a是表名,a1第一列,a2,第二列,使用Query.execsql执行就可以了
      

  2.   

    反了.
    update table a set a2=a1
      

  3.   

    update  a set a2=a1
      

  4.   

    update table a set a1=a2
      

  5.   

    如果两列的值完全相同,可能也没意义了,在此基础上可以计算
    update a set a2=convert(str,a1) 把数值转换成字符串再给a2
    update a set a2=a1+? 把a1经过运算后的值方到a2
    update a set a2=a1 ...
      

  6.   

    update  a set a2=a1
      

  7.   

    我说的不太清楚是这个样子的啊我要
    with query1 do
    begin
    sql.add('select * from hlcsdict');
    sql.add('where jx='''+trim(edit1.text)+'''');
    open;
    end;with query2 do
    begin
    sql.add('select * from hlcsdict');
    sql.add('where jx='''+trim(edit2.text)+'''');
    open;
    end;while not query1.eof and query2.eof do
    begin
    edit;
    query1.fieldbyname('a').asstring:=query2.fieldbyname('b)'.asstring;
    post;
    query1.next;
    query2.next;
    end;我是这么处理的啊问题来了关键是执行到edit;
    的地方的时候就说QUERY1是一个只读的数据集但是我用ADOQUERY代替QUERY1就不会出现这中情况??你们有没有遇到过或者有什么其它的办法来解决我的这个问题啊????
      

  8.   

    while not query1.eof and query2.eof do
    begin
    query1.edit;  //
    query1.fieldbyname('a').asstring:=query2.fieldbyname('b)'.asstring;
    query1.post;  //
    query1.next;
    query2.next;
    end;
      

  9.   

    1、query1的sql语句 Select * from ... 是不是能更新?要不要逐个列出字段?requestLive属性要设为true。2、query加sql语句之前要加:
    query.close;
    query.sql.clear;3、
    query1.first;
    query2.first;
    while not query1.eof and query2.eof do
    begin
      query1.edit;  
      query1.fieldbyname('a').asstring:=query2.fieldbyname('b)'.asstring;
      query1.post;  
      query1.next;
      query2.next;
    end;
      

  10.   

    query1.close;
    query1.sql.clear;
    query1.sql.add('update tablename set values2=values1');
    query1.execsql;
      

  11.   

    query1.close;
    query1.sql.clear;
    query1.edit;
    query1.sql.add('update yourtablename set vales2:=values1);
    query1.execsql;
      

  12.   

    你们所说的SQL语句都只能解决一正列完成的复制还是可以的但是如果我要实现下面这种情况怎么办??A B  C
    1 5
    1 5
    2 4
    2 9
    我要把A=1的B列赋给A¡2的C列,应该怎么做??
    with queryBatchCopyHl do
    begin
    close;
    sql.clear;
    sql.add('select * from hlcsdict');
    sql.add('where jx='''+Trim(Edtjx.text)+'''');
    open;
    query1.Close;
    query1.sql.clear;
    query1.SQL.add('select * from hlcsdict');
    query1.sql.add('where jx='''+Trim(Edtjx1.text)+'''');
    query1.open;
    query1.Edit ;
    query1.first;
    querybatchcopyhl.First ;
    try
    try
    while not querybatchcopyhl.eof do
    begin
    query1.edit;
    query1.FieldByName(quduan1).asstring:=querybatchcopyhl.fieldbyname(quduan).asstring;
    query1.FieldByName(xs1).asstring:=querybatchcopyhl.fieldbyname(xs).asstring;
    query1.Post;
    querybatchcopyhl.next;
    query1.Next;
    end;
    query1.first;
    querybatchcopyhl.First ;
    except
     showmessage('异常数据产生');
    end;
    我的程序是这么写的,不过效率不太好,A相同的时候执行正确,不相同的时候就有点问题,好象是把一些把应该更新的字段也修改了,晕~~大家帮忙看看吧~~,谢谢,分不够再加~~
      

  13.   

    var
      vFieldNames: string;
      vFieldValues: Variant;
    begin
      vFieldNames := StringReplace(Trim(Table1.FieldList.Text), #13#10, ';', [rfReplaceAll]);
      vFieldValues := Table1[vFieldNames];
      Table1.Next;
      Table1.Edit;
      Table1[vFieldNames] := vFieldValues;
    end;