Fórum Como passar parametro numa funcao para executar SQL #258637

16/11/2004

0

Olá amigos, utilizo instruções sql para manipular dados, e no meu sistema tenho muitos cadastrados, em todos eles repito praticamente todos os comandos:

Exemplo:

Cadastro de Bairros
DM.SQL_Bairros.Close;
DM.SQL_Bairros.comandtext:=´INSERT .....
DM.SQL_Bairros.execSql;

Cadastro de Cidades
DM.SQL_Cidades.Close;
DM.SQL_Cidades.comandtext:=´INSERT .....
DM.SQL_Cidades.execSql;

*************

Existe a possibilidade de criar um função para automatizar esse processo? Em que em sua chamada eu informa-se a tabela correspondente e a instrução desejada?

Exemplo:

FuncaoGravar(´Bairros´,´INSERT INTO Bairros.....´)

Obrigado pela atenção.

Atenciosamente

Mario


Aldus

Aldus

Responder

Posts

16/11/2004

Gandalf.nho

Creio não haver problemas em fazer uma unção para isso.


Responder

Gostei + 0

16/11/2004

Aldus

Como ficaria essa funcao?

function FuncaoGravar(NomeTabela,InstrucaoSQl:string) string
begin
dm.sql_+´NomeTabela´.close;
dm.sql_+´nometabela´.comandtext:=instrucaosql;
dm.sql_+´nometabela´.execsql;
end;

***
Como tratar o parametro nometabela para executar o dataset?

Até.

Mario


Responder

Gostei + 0

17/11/2004

Paulo_amorim

Olá

Se todos os componentes obedecerem esse padrão ´SQL_´ , pode-se utilizar a função FindComponent

function FuncaoGravar(NomeTabela,InstrucaoSQL:string) string
var
  cdsTemp: TClientDataSet; { eu não sei que componente vc usa, daí vc adapta }
begin
  cdsTemp := TClientDataSet( dm.FindComponent(´sql_´ + NomeTabela) );
  cdsTemp.CommandText := InstrucaoSQL;
  cdsTemp.ExecSQL;
end;


Espero que ajude
Até+


Responder

Gostei + 0

19/11/2004

Aldus

Ola Paulo, vou testar, mas desde ja obrigado.


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar