Fórum Bug no delphi ou erro de codigo? #348629
07/11/2007
0
Ola,
Bem, quando rodo o seguinte codigo estou enfrentando um error do Delphi falando ´Transaction is active.´ E nada mais.
Usando Delphi 2007 e palheta de Componentes IBPlus.
Alguem imagina o que pode estar acontecendo?
Bem, quando rodo o seguinte codigo estou enfrentando um error do Delphi falando ´Transaction is active.´ E nada mais.
procedure TFPrincipal.DicionarioDeDados(); // Esta procedure tem como objetivo criar um arquivo de texto em aonde o migrador esta sendo executado e, em seguida, // escrever o nome dos campos da tabela antiga e o nome da tabela, tal como tipo do campo, etc. var ArquivoTexto : TextFile; //Declarando var do arquivo de texto. CamposBDANTIGO_Temp : TStringList; //Declarando a variavel que armazenara o nome dos campos, temporariamente. TabelasBDANTIGO_Temp : TStringList; //Declarando a variavel que armazenara o nome dos campos, temporariamente. CamposBDNOVO_Temp : TStringList; //Declarando a variavel que vai armazenar o nome dos campos do Banco novo. TabelasBDNOVO_Temp : TStringList; //Declarando a variavel que armazenara o nome das tabelas. I,J,K: Integer; //Declarando o contador. begin CamposBDANTIGO_Temp := TStringList.Create; TabelasBDANTIGO_Temp := TStringList.Create; CamposBDNOVO_Temp := TStringList.Create; TabelasBDNOVO_Temp := TStringList.Create; AssignFile(ArquivoTexto, ´C:\BD.txt´); Richlog.Lines.Add(´Arquivo do dicionario de dados criado.´); Rewrite(ArquivoTexto); DataBaseANTIGO.GetTableNames(TabelasBDANTIGO_Temp, FALSE); // Armazenando o nome das tabelas na variavel. DataBaseNOVO.GetTableNames(TabelasBDNOVO_Temp, FALSE); // Armazenando o nome das tabelas na variavel. for I := 0 to TabelasBDANTIGO_Temp.Count - 1 do Begin DataSetANTIGO.Active := False; DataSetANTIGO.SQLs.SelectSQL.Clear; DataSetANTIGO.SQLs.SelectSQL.Add(´SELECT FIRST 1 * FROM ´+TabelasBDANTIGO_Temp.Strings[I]); DataSetANTIGO.Active := True; DataSetANTIGO.GetFieldNames(CamposBDANTIGO_Temp); // Armazenando o nome dos campos na variavel. DataSetNOVO.Active := False; DataSetNOVO.SQLs.SelectSQL.Clear; DataSetNOVO.SQLs.SelectSQL.Add(´SELECT FIRST 1 * FROM ´+TabelasBDNOVO_Temp.Strings[I]); DataSetNOVO.Active := True; DataSetNOVO.GetFieldNames(CamposBDNOVO_Temp); for J := 0 to CamposBDANTIGO_Temp.Count - 1 do begin WriteLn(ArquivoTexto, TabelasBDANTIGO_Temp.Strings[I]+´;´+CamposBDANTIGO_Temp[J]+´;´+RetornaTipo(DataSetANTIGO.Fields[J].DataType)+´;´+CamposBDNOVO_Temp[J]+RetornaTipo(DataSetNOVO.Fields[J].DataType)); end; end; Closefile(ArquivoTexto);
Usando Delphi 2007 e palheta de Componentes IBPlus.
Alguem imagina o que pode estar acontecendo?
Icarus
Curtir tópico
+ 0
Responder
Posts
07/11/2007
Icarus
Up =)
Responder
Gostei + 0
07/11/2007
Icarus
Up =)
Responder
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)