Executar comandos no XMaker 6
Enviado: Julho 5th, 2011, 3:18 pm
por ronaldobraz
Caros colegas,
Alguem saberia me dizer como executar o seguinte comando
de dentro do XMaker 6 (Inicializar um generator):
SET GENERATOR GEN_ESTOQUE TO 0.
Re: Executar comandos no XMaker 6
Enviado: Julho 5th, 2011, 3:56 pm
por Gustavo
Olá,
Para alterar um valor de um "Generator" é necessário utilizar a seguinte expressão em SQL:
set generator <nome_do_generator> to <valor>;
Para uma maior padronização um método na unit "Tabela.Pas" pode ser criado para processar essas alterações, exemplo:
Declare o método "Altera_AutoIncremento", exemplo:
procedure CriaTabela(CriarIndices: Boolean = True);
function AutoIncremento(Campo: String; Atribui: Boolean = True; Incremento: Integer = 1): Integer;
function Altera_AutoIncremento(Campo: String; Valor: Integer = 0): Boolean;
procedure AddIndex(const Name, Fields: string; Options: TIndexOptions;
const DescFields: string = '');
Copie o método abaixo para a unit
function TTabela.Altera_AutoIncremento(Campo: String; Valor: Integer = 0): Boolean;
var
sqlGen : TIBSQL;
NomeG: String;
begin
{$IFDEF IBX}
sqlGen := TIBSQL.Create(Database);
sqlGen.Transaction := Transaction;
try
NomeG := UpperCase(NomeTabela + '_' + Campo + '_GEN');
sqlGen.SQL.Text :=
'Set Generator ' + NomeG + ' to '+IntToStr(Valor);
sqlGen.Prepare;
sqlGen.ExecQuery;
Altera_AutoIncremento := True;
finally
sqlGen.Free;
end;
{$ELSE}
Altera_AutoIncremento := True;
{$ENDIF}
end;
** Como utilizar:
TabGlobal.DCLIENTES.Altera_AutoIncremento('CLI_CODIGO', 0);
Faça a chamada do método "Altera_AutoIncremento", passe os parâmetros: <Nome do Campo> e <Valor>, o parâmetro <Valor> é opcional, o método assume o valor 0(Zero) com default.