Click here to Skip to main content
15,881,089 members
Please Sign up or sign in to vote.
0.00/5 (No votes)
Hi Friends,
I am looking for a help regarding the migration of Firebird to SQL Server 2008 using delphi 6. I have a database "Inventory" in firebird and the same I have created in SQL also. For eg: I want to migrate the data from "Inventory" database (firebird to sql). The table name is "ASSETCATEGMAS" and columns "ACATID","CATCODE" and "ACATDESC". I want to do this with in a BUTTON click. I am enclosing the part of code I have written which is actually wrong. I am not a regular Delphi user so I am not much perfect in coding. Any example code or help will be appreciated.
SQL
procedure TForm1.Button1Click(Sender: TObject);
begin
SQLQuery1.Close;
SQLQuery1.SQL.Clear;
SQLQuery1.SQL.Add('Select * from ASSETCATEGMAS');
SQLQuery1.Open;
   begin
     SQLQuery1.First;
   while not ADOQuery1.Eof do
       begin
       if not ADOTable1.Locate('ACATID',SQLQuery1.Fieldbyname('ACATID').AsInteger,[]) then
          begin
               SQLTable1.Append;
               SQLTable1.FieldByName('ACATID').AsInteger:= ADOTable1.Fieldbyname('ACATID').AsInteger;
          end
       else
         SQLTable1.Insert;
         SQLTable1.FieldByName('CATCODE').AsString:=ADOTable1.Fieldbyname('CATCODE').AsString;
         SQLTable1.FieldByName('ACATDESC').AsString:=ADOTable1.Fieldbyname('ACATDESC').AsString;
         SQLTable1.Post;
         SQLQuery1.Next;
         inc(i);
       end;
     end;
        showmessage(Inttostr(SQLQuery1.recordcount));
end;
Posted
Updated 17-Jun-14 1:00am
v2

1 solution

Hi all,
I got the solution. If u guys want to take a look. I am giving it here. Thanks.

procedure TForm1.Button1Click(Sender: TObject);
//var
//iRecCnt:integer;
begin

SQLQuery1.Close;
SQLQuery1.SQL.Clear;
SQLQuery1.SQL.Add('Select count(*) as val from ASSETCATEGMAS');
SQLQuery1.Open;
iRecCnt:=SQLQuery1.Fieldbyname('val').Asinteger;

SQLQuery1.Close;
SQLQuery1.SQL.Clear;
SQLQuery1.SQL.Add('Select * from ASSETCATEGMAS');
SQLQuery1.Open;
Pb.Min:=0;
Pb.Max:=iRecCnt;
Pb.Position:=0;
Pb.Step:=1;
SQLQuery1.First;
while not SQLQuery1.Eof do
begin

if not ADOTable1.Locate('ACATID',SQLQuery1.Fieldbyname('ACATID').AsInteger,[]) then
begin
ADOTable1.Append;
ADOTable1.FieldByName('ACATID').AsInteger:= SQLQuery1.Fieldbyname('ACATID').AsInteger;
end
else
ADOTable1.Edit;
ADOTable1.FieldByName('CATCODE').AsString:=SQLQuery1.Fieldbyname('CATCODE').AsString;
ADOTable1.FieldByName('ACATDESC').AsString:=SQLQuery1.Fieldbyname('ACATDESC').AsString;
ADOTable1.Post;
inc(i);

SQLQuery1.Next;
Pb.StepIt;
end;
Pb.Position:=0;
showmessage(Inttostr(SQLQuery1.recordcount));
end;
 
Share this answer
 

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)



CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900