Ir para conteúdo
Fórum Script Brasil
  • 0

(Resolvido) Fazer atualização no Banco de dados sem interferir no


robinhocne

Pergunta

Queria saber como poderia fazer um programa extra de atualização de banco de dados, pois tipo assim:

Tenho o meu programa em um comercio, ai eu faço novas atualizaçoes tanto no banco de dados, mas ai quero atualizar ele, mas o cliente já tem os dados cadastrados nele, e ai queria fazer isso sem pegar o banco de dados e ficar mexendo, queria algo que acrecentasse o que e adcionei a mais no banco olhando pelo o banco original e sem alterar os dados que estão salvos no banco de dados!

Alguém poderia me ajudar! :mellow:

Editado por robinhocne
Link para o comentário
Compartilhar em outros sites

21 respostass a esta questão

Posts Recomendados

  • 0
Queria saber como poderia fazer um programa extra de atualização de banco de dados, pois tipo assim:

Tenho o meu programa em um comercio, ai eu faço novas atualizaçoes tanto no banco de dados, mas ai quero atualizar ele, mas o cliente já tem os dados cadastrados nele, e ai queria fazer isso sem pegar o banco de dados e ficar mexendo, queria algo que acrecentasse o que e adcionei a mais no banco olhando pelo o banco original e sem alterar os dados que estão salvos no banco de dados!

Alguém poderia me ajudar! :mellow:

Escreva scripts de atualização de tabelas para o seru banco. As instruções variam de banco para banco.

Link para o comentário
Compartilhar em outros sites

  • 0
Queria saber como poderia fazer um programa extra de atualização de banco de dados, pois tipo assim:

Tenho o meu programa em um comercio, ai eu faço novas atualizaçoes tanto no banco de dados, mas ai quero atualizar ele, mas o cliente já tem os dados cadastrados nele, e ai queria fazer isso sem pegar o banco de dados e ficar mexendo, queria algo que acrecentasse o que e adcionei a mais no banco olhando pelo o banco original e sem alterar os dados que estão salvos no banco de dados!

Alguém poderia me ajudar! :mellow:

Escreva scripts de atualização de tabelas para o seru banco. As instruções variam de banco para banco.

Sim, mas como onde ?

Link para o comentário
Compartilhar em outros sites

  • 0
Escreva scripts de atualização de tabelas para o seru banco. As instruções variam de banco para banco.

Sim, mas como onde ?

Oi, 'robinhocne'!

Não sei que tipo de banco você está usando. Então vou falar de modo genérico, mas com exemplos que o guiarão melhor neste caminho.

Crie um programinha delphi e coloque nele os objetos de banco que você utiliza.

Neste exemplo vou usar o TQuery, mas você faça como achar melhor.

De modo simples o que você necessita é uma execução para cada atualização. Assim, se tenho duas tabelas a atualizar e tenho que enviar a correção para meu cliente, então seria assim em linhas gerais que o codigo seria construido.

procedure atualiza;
begin
   with query1 do
   begin
      Active := False;
      SQL.Clear;
      SQL.Add('ALTER TABLE tabela1 ' +
                    'ADD COLUMN colunax char(10) NOT NULL');
      grava;
      SQL.Clear;
      SQL.Add('ALTER TABLE tabela2 ' +
                    'ADD COLUMN colunax char(10) NOT NULL');
      grava;
   end;   
end;

procedure grava;
begin
      Try
         Database.StartTansaction;
         query1.ExecSQL;
         Database.Commit;
      except
          showmessage('Deu caca na gravacao');
          Database.Rollback;
      end;
end;

P.S. Não testei o código. O que tem aí é só para exemplificar.

Um abraço.

Link para o comentário
Compartilhar em outros sites

  • 0
Escreva scripts de atualização de tabelas para o seru banco. As instruções variam de banco para banco.

Sim, mas como onde ?

Oi, 'robinhocne'!

Não sei que tipo de banco você está usando. Então vou falar de modo genérico, mas com exemplos que o guiarão melhor neste caminho.

Crie um programinha delphi e coloque nele os objetos de banco que você utiliza.

Neste exemplo vou usar o TQuery, mas você faça como achar melhor.

De modo simples o que você necessita é uma execução para cada atualização. Assim, se tenho duas tabelas a atualizar e tenho que enviar a correção para meu cliente, então seria assim em linhas gerais que o codigo seria construido.

procedure atualiza;
begin
   with query1 do
   begin
      Active := False;
      SQL.Clear;
      SQL.Add('ALTER TABLE tabela1 ' +
                    'ADD COLUMN colunax char(10) NOT NULL');
      grava;
      SQL.Clear;
      SQL.Add('ALTER TABLE tabela2 ' +
                    'ADD COLUMN colunax char(10) NOT NULL');
      grava;
   end;   
end;

procedure grava;
begin
      Try
         Database.StartTansaction;
         query1.ExecSQL;
         Database.Commit;
      except
          showmessage('Deu caca na gravacao');
          Database.Rollback;
      end;
end;

P.S. Não testei o código. O que tem aí é só para exemplificar.

Um abraço.

Ops... Desculpas esqueci o principal, eu uso o Firebird e as minhas conexões eu uso o componente do InterBase com um, IbDataBase, IbQuery e IbTransaction.

Sim etendi, mas só não entendi uma coisa, na instrução que você passou:

procedure atualiza;

begin

with query1 do

begin

Active := False;

SQL.Clear;

SQL.Add('ALTER TABLE tabela1 ' +

'ADD COLUMN colunax char(10) NOT NULL');

grava;

SQL.Clear;

SQL.Add('ALTER TABLE tabela2 ' +

'ADD COLUMN colunax char(10) NOT NULL');

grava;

end;

end;

1-Eu terei que colocar de cada tabela que eu vou alterar? :blink:

2-Tipo assim se eu acrescentei um campo na tabela ou fiz outra tabela, para cada isso terei que fazer na instrução? :blink:

3-Teria como ser assim, no programa que fazerei isso, eu coloquei um componene do Jedi o JvDotNetFilenameEdit1, esse componente busca o caminho do banco certo e ai (agora preciso de ajuda nessas ideias), teria um grid ou alguma coisa que mostra todas as tabelas do banco de dados, e ai eu clicava na tabela que iria atualizar e no outro canto eu teria um TMemo ou algo que vocês posso me ajudar, com os dados da tabela a ser atualizada, ai coloco os dados certo no TMemo.

4-Ai terei um botão, para que faça a toda a atualização já pegando o caminho do banco e falando que seria aquele para ser atualizado e comparando com a tabela a ser altera ou acrescetada.

Então será que teria como desenvolver com essa ideia fertil minha? :rolleyes:

Link para o comentário
Compartilhar em outros sites

  • 0

Só para comentar...

Queria saber como poderia fazer um programa extra de atualização de banco de dados, pois tipo assim:

Tenho o meu programa em um comercio, ai eu faço novas atualizaçoes tanto no banco de dados, mas ai quero atualizar ele, mas o cliente já tem os dados cadastrados nele, e ai queria fazer isso sem pegar o banco de dados e ficar mexendo, queria algo que acrecentasse o que e adcionei a mais no banco olhando pelo o banco original e sem alterar os dados que estão salvos no banco de dados!

Depende do que você pretendo atualizar.

Se for mudança na estrutura de dados do banco (novas tabelas, campos, ...), isto não deverá interferir com os dados do cliente, a menos que você esteja removendo tabelas ou colunas.

Se for alteração dos dados, algum tipo de script com instruções UPDATE, o mais aconselhável é que, se você vai mexer nos valores de determinada coluna, você deve utilizar da cláusula WHERE para alterar as informações de acordo com o que deve ser. Por ex., se você for inicializar uma coluna que estava inicialmente ficando com alguns valores nulos, mas você não quer que isto ocorra mais. Então, você corrige isto no seu programa (evitando que os novos registros fiquem nulos) e executa uma instrução de UPDATE na tabela, setando o valor desta coluna, mas apenas para as que forem = NULL. Este cuidado, também é muito importante quando utilizada a instrução DELETE.

Quanto a forma de fazer isto, sem complicar muito, eu citaria duas possibilidades (haveriam outras):

- implementar dentro do seu programa, a execução destas instruções SQL para serem executadas ao clicar de um botão - por exemplo. Mas terá que fazer os devidos tratamentos de erros, visto que se executado um segunda vez, ocorrerão exceções; (é o que você está implementando)

- (especificamente na sua cituação) instalar a ferramente IBExpert no cliente e utilizá-la para aplicar as correções. Uma vez que você a utilize para fazer as modificações na sua base de dado (de desenvolvimento), você teria como copiar os scripts de alterações, guardá-los em um arquivo para depois se utilizado no IBExpert de seu cliente.

Acho esta última forma a mais simples. É questão de explorar os recursos da ferramenta. ;)

Abraços

Link para o comentário
Compartilhar em outros sites

  • 0

Oi, 'robinhocne'!

Vamos as respostas:

1-Eu terei que colocar de cada tabela que eu vou alterar?

2-Tipo assim se eu acrescentei um campo na tabela ou fiz outra tabela, para cada isso terei que fazer na instrução?

Resposta: Sim em ambos os casos 1 e 2.

3-Teria como ser assim, no programa que "fazerei" isso, eu coloquei um componene do Jedi o JvDotNetFilenameEdit1, esse componente busca o caminho do banco certo e ai (agora preciso de ajuda nessas ideias), teria um grid ou alguma coisa que mostra todas as tabelas do banco de dados, e ai eu clicava na tabela que iria atualizar e no outro canto eu teria um TMemo ou algo que vocês posso me ajudar, com os dados da tabela a ser atualizada, ai coloco os dados certo no TMemo.

Resposta: Não. Um form simples com apenas um botão e todo o código escrito é a melhor solução.

4-Ai terei um botão, para que faça a toda a atualização já pegando o caminho do banco e falando que seria aquele para ser atualizado e comparando com a tabela a ser altera ou acrescetada.
Resposta: Sim. Seria o código de checagem para evitar que a mesma atualização fosse feita mais de uma vez.

Então será que teria como desenvolver com essa ideia fertil minha?

Resposta: Já fiz isso no post anterior. Pegue a idéia, transforme para seu banco Firebird e teste.

Link para o comentário
Compartilhar em outros sites

  • 0
Oi, 'robinhocne'!

Vamos as respostas:

1-Eu terei que colocar de cada tabela que eu vou alterar?

2-Tipo assim se eu acrescentei um campo na tabela ou fiz outra tabela, para cada isso terei que fazer na instrução?

Resposta: Sim em ambos os casos 1 e 2.

3-Teria como ser assim, no programa que "fazerei" isso, eu coloquei um componene do Jedi o JvDotNetFilenameEdit1, esse componente busca o caminho do banco certo e ai (agora preciso de ajuda nessas ideias), teria um grid ou alguma coisa que mostra todas as tabelas do banco de dados, e ai eu clicava na tabela que iria atualizar e no outro canto eu teria um TMemo ou algo que vocês posso me ajudar, com os dados da tabela a ser atualizada, ai coloco os dados certo no TMemo.

Resposta: Não. Um form simples com apenas um botão e todo o código escrito é a melhor solução.

4-Ai terei um botão, para que faça a toda a atualização já pegando o caminho do banco e falando que seria aquele para ser atualizado e comparando com a tabela a ser altera ou acrescetada.
Resposta: Sim. Seria o código de checagem para evitar que a mesma atualização fosse feita mais de uma vez.

Então será que teria como desenvolver com essa ideia fertil minha?

Resposta: Já fiz isso no post anterior. Pegue a idéia, transforme para seu banco Firebird e teste.

Sim, mas ai eu teria que fazer isso no IbExpert e não poderia desenvolver algo que seria facil.

Link para o comentário
Compartilhar em outros sites

  • 0
Sim, mas ai eu teria que fazer isso no IbExpert e não poderia desenvolver algo que seria facil.

Oi, 'robinhocne'!

Mais fácil que o exemplo que dei só assim:

procedure atualiza;
var F TextFile;
      bufer: string;
begin
   AssignFile(F, 'C:\nomedoarquivo.sql');
   Reset(F);
   Readln(F, buffer);
   while not eof(F) do
   begin
      with query1 do
      begin
         Active := False;
         SQL.Clear;
         SQL.Add(buffer);
         grava;
      end;   
      Readln(F, buffer);
   end;
   CloseFile(F);
end;

procedure grava;
begin
      Try
         Database.StartTansaction;
         query1.ExecSQL;
         Database.Commit;
      except
          showmessage('Deu caca na gravacao');
          Database.Rollback;
      end;
end;

Como você pode observar acima, eu criei um arquivo texto contendo o script de modificações no banco e chamei este arquivo de 'arquivo.sql'.

Logo depois, alterei a procedure para abrir o arquivo texto, ler o conteúdo e executar no banco a alteração.

O 'arquvo.sql' possui uma instrução para linha. Mas você pode modificar para melhorar o entendimento de quem quizer ler o conteúdo do 'arquivo.sql'

A vantagem deste código é que o executável pode ficar no seu cliente e você pode enviar somente o script para atualização .

Outra vantagem é que posso ter uma ou N instruções SQl dentro do script.

Divirta-se.

Link para o comentário
Compartilhar em outros sites

  • 0
Sim, mas ai eu teria que fazer isso no IbExpert e não poderia desenvolver algo que seria facil.

Oi, 'robinhocne'!

Mais fácil que o exemplo que dei só assim:

procedure atualiza;
var F TextFile;
      bufer: string;
begin
   AssignFile(F, 'C:\nomedoarquivo.sql');
   Reset(F);
   Readln(F, buffer);
   while not eof(F) do
   begin
      with query1 do
      begin
         Active := False;
         SQL.Clear;
         SQL.Add(buffer);
         grava;
      end;   
      Readln(F, buffer);
   end;
   CloseFile(F);
end;

procedure grava;
begin
      Try
         Database.StartTansaction;
         query1.ExecSQL;
         Database.Commit;
      except
          showmessage('Deu caca na gravacao');
          Database.Rollback;
      end;
end;

Como você pode observar acima, eu criei um arquivo texto contendo o script de modificações no banco e chamei este arquivo de 'arquivo.sql'.

Logo depois, alterei a procedure para abrir o arquivo texto, ler o conteúdo e executar no banco a alteração.

O 'arquvo.sql' possui uma instrução para linha. Mas você pode modificar para melhorar o entendimento de quem quizer ler o conteúdo do 'arquivo.sql'

A vantagem deste código é que o executável pode ficar no seu cliente e você pode enviar somente o script para atualização .

Outra vantagem é que posso ter uma ou N instruções SQl dentro do script.

Divirta-se.

Ok, Denis então me ajude do começo:

1- Eu vou fazer isso no programa ou vou fazer um programa separado?

arquivo

2- Caso seja separado ou junto, fiz um form que tem um edit de busca, esse componente é dos pacotes do Jedi nome dele é JvFilenameEdit1, pois ele localiza o arquivo, ai no caso esse seria para mostrar o caminho do Script, para a atualização.

3- Esse script seria em arquivo txt no caso com o nome de "Arquivo.Sql"?

4- Me explica passo a passo para eu poder enteder melhor, pois isso é bem novo para min "Se Possivel'!

Link para o comentário
Compartilhar em outros sites

  • 0
Ok, Denis então me ajude do começo:

1- Eu vou fazer isso no programa ou vou fazer um programa separado?

Resposta: Como você quizer. Mas separado é melhor, pois você não mistura a aplicação com a atualização da aplicação.

2- Caso seja separado ou junto, fiz um form que tem um edit de busca, esse componente é dos pacotes do Jedi nome dele é JvFilenameEdit1, pois ele localiza o arquivo, ai no caso esse seria para mostrar o caminho do Script, para a atualização?"

Resposta: Sim. Você poderá usar qualquer script de atualização.

3- Esse script seria em arquivo txt no caso com o nome de "Arquivo.Sql"?

Resposta: Sim. Como o nome e extensão que você quizer.

4- Me explica passo a passo para eu poder enteder melhor, pois isso é bem novo para min "Se Possivel'!

Resposta: Basicamente

O programa de atualização pega o script de atualização, que neste caso chamarei de arquivo.sql;

Lê, linha a linha, sendo que em cada linha há um comando SQL completo.

E, a cada linha lida, executa a atualização necessária.

Link para o comentário
Compartilhar em outros sites

  • 0
Ok, Denis então me ajude do começo:

1- Eu vou fazer isso no programa ou vou fazer um programa separado?

Resposta: Como você quizer. Mas separado é melhor, pois você não mistura a aplicação com a atualização da aplicação.

2- Caso seja separado ou junto, fiz um form que tem um edit de busca, esse componente é dos pacotes do Jedi nome dele é JvFilenameEdit1, pois ele localiza o arquivo, ai no caso esse seria para mostrar o caminho do Script, para a atualização?"

Resposta: Sim. Você poderá usar qualquer script de atualização.

3- Esse script seria em arquivo txt no caso com o nome de "Arquivo.Sql"?

Resposta: Sim. Como o nome e extensão que você quizer.

4- Me explica passo a passo para eu poder enteder melhor, pois isso é bem novo para min "Se Possivel'!
Resposta: Basicamente

O programa de atualização pega o script de atualização, que neste caso chamarei de arquivo.sql;

Lê, linha a linha, sendo que em cada linha há um comando SQL completo.

E, a cada linha lida, executa a atualização necessária.

De uma olhada na estrutura do projeto que seria:

http://www.4shared.com/file/36318934/e1746f08/IzaUpdate.html

Pois o que eu teria que ter nesse programa, digo quais componentes, estava pensando assim:

Um (JvFilenameEdit1) para a localizacao do banco de dados antigo.

Um (DbGrid) ou algo que eu possa vizualizar os dados alterados ou um (TMemo).

Um (JvFilenameEdit2) para a localizacao do Script.

Um (SpeedButton) para fazer o procedimento de atualizacao.

Amigo seria assim a estrutura?

depois vamos para os dados.!

Link para o comentário
Compartilhar em outros sites

  • 0
De uma olhada na estrutura do projeto que seria:

http://www.4shared.com/file/36318934/e1746f08/IzaUpdate.html

Pois o que eu teria que ter nesse programa, digo quais componentes, estava pensando assim:

Um (JvFilenameEdit1) para a localizacao do banco de dados antigo.

Um (DbGrid) ou algo que eu possa vizualizar os dados alterados ou um (TMemo).

Um (JvFilenameEdit2) para a localizacao do Script.

Um (SpeedButton) para fazer o procedimento de atualizacao.

Amigo seria assim a estrutura?

depois vamos para os dados.!

Oi, 'robinhocne'!

Não tenho acesso ao site que você enviou.

Sou adepto ao quanto mais simples melhor. Se você vai executar isto no cliente sem a sua presença, então não há necessidade de floreamento. basta uma tela(label) informando que está sendo atualizado e outra que, ao fim do processamento, informe que foi atualizado. É apenas um processamento batch.

Mas, vá fundo. Dê asas à sua criatividade. É a melhor coisa do mundo.

Um abraço

Link para o comentário
Compartilhar em outros sites

  • 0
De uma olhada na estrutura do projeto que seria:

http://www.4shared.com/file/36318934/e1746f08/IzaUpdate.html

Pois o que eu teria que ter nesse programa, digo quais componentes, estava pensando assim:

Um (JvFilenameEdit1) para a localizacao do banco de dados antigo.

Um (DbGrid) ou algo que eu possa vizualizar os dados alterados ou um (TMemo).

Um (JvFilenameEdit2) para a localizacao do Script.

Um (SpeedButton) para fazer o procedimento de atualizacao.

Amigo seria assim a estrutura?

depois vamos para os dados.!

Oi, 'robinhocne'!

Não tenho acesso ao site que você enviou.

Sou adepto ao quanto mais simples melhor. Se você vai executar isto no cliente sem a sua presença, então não há necessidade de floreamento. basta uma tela(label) informando que está sendo atualizado e outra que, ao fim do processamento, informe que foi atualizado. É apenas um processamento batch.

Mas, vá fundo. Dê asas à sua criatividade. É a melhor coisa do mundo.

Um abraço

Esse projeto eu iria fazer no cliente mesmo, não iria mandar, mas andei vendo hoje e acho que vou fazer assim se possivel:

Coloquei um (TFilenameEdit) do pacote do RxLib esse componente é igual o outro de caminho que comentei:

-O Nome ficou como (TxtCaminhoBanco):

>Então ai eu busco o banco a ser atualizado - Ok?

-Coloquei um TMemo com o Nome de (MScript):

>Então aqui eu iria colocar as alterações de tais tabelas - Ok?

-Coloquei uma IbQuery com o Nome de (QryAtualizacao):

>Ai seria mais ou menos assim na Query:

procedure TFrmIzaUpDate.SpbATualizarClick(Sender: TObject);
begin
   with QryAtualizacao do
      begin
         close;
         SQL.Clear;
         SQL.Add('#39 + MScript + #39');
         ExecSql;
      end;
end;

>>No caso esse comando seria no Botão(SpbAtualizar) que vai fazer a atualização, mas ai para a QryAtualizacao saber qual mudança para fazer no banco ele ai pegaria a instrução que eu iria digitar no TMemo (MScript), mas ai ficaria como esse parte >SQL.Add('Alter Table Cliente add Nome varchar (100)');<, pois ai teria que implementar para a instrução fazer do que está escrito no MScript (TMemo), ficaria mais ou menos assim:

SQL.Add('#39 + MScript + #39');

Mas outra coisa que faltou e que eu não sei fazer, no TxtCaminho eu teria que pegar o banco e conectar na query para fazer isso, como, eu faço isso para ter o caminho para a Query.

Link para o comentário
Compartilhar em outros sites

  • 0

Oi, 'robinhocne'!

O correto é assim, se você vai usar uma variável dentro do Add

procedure TFrmIzaUpDate.SpbATualizarClick(Sender: TObject);
begin
   with QryAtualizacao do
      begin
         close;
         SQL.Clear;
         SQL.Add(MScript);
         ExecSql;
      end;
end;

Mas outra coisa que faltou e que eu não sei fazer, no TxtCaminho eu teria que pegar o banco e conectar na query para fazer isso, como, eu faço isso para ter o caminho para a Query.

Resposta: Neste ponto peço ajuda aos universitários de plantão. Pois trabalho com MySQL e não sei nada de Firebird.

Link para o comentário
Compartilhar em outros sites

  • 0
Oi, 'robinhocne'!

O correto é assim, se você vai usar uma variável dentro do Add

procedure TFrmIzaUpDate.SpbATualizarClick(Sender: TObject);
begin
   with QryAtualizacao do
      begin
         close;
         SQL.Clear;
         SQL.Add(MScript);
         ExecSql;
      end;
end;
Mas outra coisa que faltou e que eu não sei fazer, no TxtCaminho eu teria que pegar o banco e conectar na query para fazer isso, como, eu faço isso para ter o caminho para a Query.
Resposta: Neste ponto peço ajuda aos universitários de plantão. Pois trabalho com MySQL e não sei nada de Firebird.
Tá para o caminho eu fiz simples mesmo: Coloquei: >TEdit (TxtCaminhoBanco) >SpeedButton (SpbLocBanco) >OpenDialog (OpnBanco) >IbDatabase (DbaUp) >IbQuery (QryUp) >IbTransaction (TraUp) No botão coloquei esses comandos:
if ( not opnBanco.Execute ) then Exit;
   txtCaminhoBanco.Text := opnBanco.FileName;
Toda a Estrutura:
procedure TFrmIzaUpDate.SpbATualizarClick(Sender: TObject);
begin
   DbaUp.DatabaseName := TxtCaminhoBanco.Text;
   DbaUp.Connected    := True;
   with QryAtualizacao do
      begin
         close;
         SQL.Clear;
         SQL.Add('#39 + MScript + #39');
         ExecSql;
      end;
   DbaUp.Connected := False;
   DbaUp.Connected := True;
end;

procedure TFrmIzaUpDate.SpeedButton1Click(Sender: TObject);
begin
   if ( not opnBanco.Execute ) then Exit;
   txtCaminhoBanco.Text := opnBanco.FileName;
end;

end.

Ai estou conectando em um banco de dados e acrescentando tipo assim:

Alter Table Cidades Add Local Varchar (50)

E clico no botão para atualizar, mas dá esse erro:

Dynamic SQL Error

SQL error code = -104

Token unknown - line, char 0

#

E agora?

Link para o comentário
Compartilhar em outros sites

  • 0
Oi, 'robinhocne'!

Você insistiu e colocou assim:

SQL.Add('#39 + MScript + #39');
Eu falei no post anterior que era assim
SQL.Add(MScript);

Dá esse erro na hora de compilar:

[Error]IzaUpdate.pas(49): Incompatible types: 'String' and 'TMemo'

[Fatal Error] IzaUpdates.dpr(5): Could not compile used unit 'IzaUpdate.pas'

Link para o comentário
Compartilhar em outros sites

  • 0
Oi, 'robinhocne'!

Você insistiu e colocou assim:

SQL.Add('#39 + MScript + #39');
Eu falei no post anterior que era assim
SQL.Add(MScript);

Dá esse erro na hora de compilar:

[Error]IzaUpdate.pas(49): Incompatible types: 'String' and 'TMemo'

[Fatal Error] IzaUpdates.dpr(5): Could not compile used unit 'IzaUpdate.pas'

Isto é porque você terá que tratar linha a linha do TMemo. Você está usando o objeto e não a propriedade do objeto.

Experimente

Mscript.Lines Leia no help do delphi como usar o TMemo neste tipo de caso.

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,8k
×
×
  • Criar Novo...