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.
Executar comandos no XMaker 6
-
- Mensagens: 49
- Registrado em: Fevereiro 3rd, 2011, 12:47 pm
- Contato:
-
- Mensagens: 244
- Registrado em: Dezembro 22nd, 2010, 1:05 am [phpBB Debug] PHP Warning: in file [ROOT]/vendor/twig/twig/lib/Twig/Extension/Core.php on line 1236: count(): Parameter must be an array or an object that implements Countable
Re: Executar comandos no XMaker 6
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.
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.
Att,
Gustavo Barreto
Gustavo Barreto
Quem está online
Usuários navegando neste fórum: Nenhum usuário registrado e 76 visitantes