Maneju 0 Denunciar post Postado Abril 29, 2005 Olá amigos!O comando SQL utilizado diretamente no FireBird para gerar Triggers, pode ser executado por uma SQL pelo Delphi?Grato!Manoel Compartilhar este post Link para o post Compartilhar em outros sites
savionet 0 Denunciar post Postado Maio 2, 2005 Quase todos os comandos usandos diretamente nos bancos podem ser executados diretamente pelo delphi.A maneira mais simples é colocar o comando na propriedade SQL de uma TQuery e chamar o método "ExecSQL".ex.: Query1.ExecSQL; Compartilhar este post Link para o post Compartilhar em outros sites
Maneju 0 Denunciar post Postado Maio 2, 2005 Quase todos os comandos usandos diretamente nos bancos podem ser executados diretamente pelo delphi. A maneira mais simples é colocar o comando na propriedade SQL de uma TQuery e chamar o método "ExecSQL". ex.: Query1.ExecSQL; <{POST_SNAPBACK}> Olá Savionet! Exatamente, estou usando da forma como você mencionou, veja abaixo: StrSQL:= 'create trigger Manoel for MCC' + copy('000' + Edit7.Text,length('000'+ Edit7.Text)-2,3) + ' active before insert position 0 as begin new.CP000 = gen_id(GeraCodigo' + copy('000' + Edit7.Text,length('000'+ Edit7.Text)-2,3) + ',1); end'; ibdataset1.SelectSQL.Add (StrSQL); ibdataset1.ExecSQL; Meu problema é que, se não executar esta SQL, eu consigo criar tabelas e generators por programação. Se a uso, não ocorre mensagem de erro mas, não são criados tabelas, generators e triggers. Há algum motivo aparente pata isto? Grato! Manoel Compartilhar este post Link para o post Compartilhar em outros sites
Maneju 0 Denunciar post Postado Maio 2, 2005 Quase todos os comandos usandos diretamente nos bancos podem ser executados diretamente pelo delphi. A maneira mais simples é colocar o comando na propriedade SQL de uma TQuery e chamar o método "ExecSQL". ex.: Query1.ExecSQL; <{POST_SNAPBACK}> Olá Savionet! Exatamente, estou usando da forma como você mencionou, veja abaixo: StrSQL:= 'create trigger Manoel for MCC' + copy('000' + Edit7.Text,length('000'+ Edit7.Text)-2,3) + ' active before insert position 0 as begin new.CP000 = gen_id(GeraCodigo' + copy('000' + Edit7.Text,length('000'+ Edit7.Text)-2,3) + ',1); end'; ibdataset1.SelectSQL.Add (StrSQL); ibdataset1.ExecSQL; StrSQL:= 'create trigger Manoel for MCC' + copy('000' + Edit7.Text,length('000'+ Edit7.Text)-2,3) + ' active before insert position 0 as begin new.CP000 = gen_id(GeraCodigo' + copy('000' + Edit7.Text,length('000'+ Edit7.Text)-2,3) + ',1); end'; ibdataset1.SelectSQL.Add (StrSQL); ibdataset1.ExecSQL; Meu problema é que, se não executar esta SQL, eu consigo criar tabelas e generators por programação. Se a uso, não ocorre mensagem de erro mas, não são criados tabelas, generators e triggers. Há algum motivo aparente pata isto? Grato! Manoel <{POST_SNAPBACK}> Já descobri, era Manoel qu estava errado, deveria ser GeraCodigo' + copy('000' + Edit7.Text,length('000'+ Edit7.Text)-2,3) Mesmo assim, obrigado! Manoel Compartilhar este post Link para o post Compartilhar em outros sites