Q&A

  • 오라클을 사용하고 있습니다.
다른 컴에 각각 존재한 디비를 복사하려구 합니다.  근디 batchmove를 사용하니 못마땅한것이 있어서 코딩을 해는데요...

newDB.ExecSQL;

에서 Error가 나네요...

소스랑 메세지 입니다...

좀 도와주시길...

function DBDataMove( newDB : TQuery; oldDB : TDataSet; tableName : String ) : Integer;
var
   i, cnt : Integer;
begin
   cnt := 0;
With oldDB do begin
      First;

      While not EOF do begin
         newDB.Close;
         newDB.SQL.Clear;
         newDB.SQL.Add( 'insert into ' + TableName + ' (' );

         for i := 0 to Fields.Count - 1 do begin
            if i > 0 then newDB.SQL[ newDB.SQL.Count - 1 ] := newDB.SQL[ newDB.SQL.Count - 1 ] + ', ';

            if Fields[i].DataType in [ftString, ftDate, ftDateTime, ftTime, ftBCD, ftBlob, ftMemo] then
               newDB.SQL.Add( '''' + Fields[i].AsString + '''' )
            else
               newDB.SQL.Add( '0' + Fields[i].AsString );
         end;

         newDB.SQL[ newDB.SQL.Count - 1 ] := newDB.SQL[ newDB.SQL.Count - 1] + ' )';

         Try
           newDb.ExecSQL;
         Except
            cnt := cnt + 1;
         end;

         Next;
      end;
   end;

General SQL error ORA-00928: SELECT 키워드가 없습니다.
1  COMMENTS