ADO,除了appendrecord(xx.xx.xx.xx.xx.xx)还有别的招吗?有能直接复制进去的语句吗?

解决方案 »

  1.   

    while not DestDETSET.eof do
      for i:=0 to DestDETSET.Field.Count-1 do
      begin
        DestDetSet.Fields[i].Value := SourceDetSet.Fields[i].Value
      end;
      DestDETSET.Next;
    end;
      

  2.   

    哦,别忘记 APPEND 和POST,呵
      

  3.   

    我的意思是指不用一个个值的复制,而是直接复制一条数据,有没有语句就类似clone方法一样,一次复制进去一条数据的。assign不知道行不行
      

  4.   

    ADOCommand.CommandText := 'insert into A select * from B where ...';
    ADOCommand.Execute;
      

  5.   

    就是有点像dbexpress中的SimpleDataSet1.AppendData(SimpleDataSet1.Data)这样的,不过是取当前记录的。
    4楼的兄弟,在dbgrid中让人选,选中了就添加进另一个表,所以你那招没法用呀
      

  6.   

    因为你没明白我那种做法,在DBGrid中让人选择,可以当作当前记录的条件。
      

  7.   

    汗,如果是DBGRID放到别的控件中,那么一个循环是比较好的.如果是放到数据库的表内,就是INSERT中,没有更简单的过程了.(如果以后不想写,自己先麻烦一点,写个通用函数好了.)==================
    你是我看到的最懒的程序员.
      

  8.   

    哦,我明白了,整个关键字就行了。ADO有没有直接复制的方法吗?
      

  9.   

    DBGrid只是显示,要操作,最终还要用DBGrid.DataSource.DataSet。
    不过楼主的需求可以用insert into A select * from B来解决(假设两表在同一个库中)。或者有一个数据库支持即时远程查询,类似SQL Server的OPENROWSET和OPENDATASOURCE功能。