Como aumentar ou diminuir o valor do generator...
Como aumentar ou diminuir o valor do generator...
Max.sgj
Curtidas 0
Respostas
Edilcimar
29/11/2005
faça uma query e coloque SET GENERATOR NOMETABELA_NOMECAMPO_GEN to ´ + inttostr(NumeroGerador)
GOSTEI 0
Max.sgj
29/11/2005
faça uma query e coloque SET GENERATOR NOMETABELA_NOMECAMPO_GEN to ´ + inttostr(NumeroGerador)
IBQuery1.SQL.Add(´SET GENERATOR GEN_TELEFONE_ID TO ´+inttostr(5);
Está dando erro...
GOSTEI 0
Edilcimar
29/11/2005
With IBQuery1 do
Begin
Close;
Sql.Clear;
Sql.Add (´SET GENERATOR TELEFONE_NOMECAMPO_GEN to ´ + inttostr(NumeroGerador));
ExecSql;
Close;
End;
Begin
Close;
Sql.Clear;
Sql.Add (´SET GENERATOR TELEFONE_NOMECAMPO_GEN to ´ + inttostr(NumeroGerador));
ExecSql;
Close;
End;
GOSTEI 0
Max.sgj
29/11/2005
faça uma query e coloque SET GENERATOR NOMETABELA_NOMECAMPO_GEN to ´ + inttostr(NumeroGerador)
IBQuery1.SQL.Add(´SET GENERATOR ENDERECO CODIGO ENDERECO_GEN TO ´+inttostr(5);
Aonde estou errando...
GOSTEI 0
Edilcimar
29/11/2005
leia o que eu escrive inclusive com as sublinhas, qualquer duvida pegue o generator exatamente como foi criado no bd
GOSTEI 0
Max.sgj
29/11/2005
faça uma query e coloque SET GENERATOR NOMETABELA_NOMECAMPO_GEN to ´ + inttostr(NumeroGerador)
IBQuery1.SQL.Clear;
IBQuery1.SQL.Add(´SET GENERATOR ENDERECO CODIGO ENDERECO_GEN TO ´+inttostr(5);
IBQuery1.execSQL;
IBQuery1.SQL.Clear;
Aonde estou errando...
GOSTEI 0
Edilcimar
29/11/2005
em tudo, compare o que eu escrevi e o que vc está escrevendo, ta enchendo de coisa que não tem
GOSTEI 0
Max.sgj
29/11/2005
IBQuery1.SQL.Clear;
IBQuery1.SQL.Add(´SET GENERATOR ENDERECO CODIGO ENDERECO_GEN TO ´+inttostr(5));
IBQuery1.execSQL;
IBQuery1.SQL.Clear;
Aonde estou errando...
IBQuery1.SQL.Add(´SET GENERATOR ENDERECO CODIGO ENDERECO_GEN TO ´+inttostr(5));
IBQuery1.execSQL;
IBQuery1.SQL.Clear;
Aonde estou errando...
GOSTEI 0
Edilcimar
29/11/2005
Sql.Add (´SET GENERATOR TELEFONE_NOMECAMPO_GEN to ´ + inttostr(NumeroGerador));
compare isto com o que vc está escrevendo, letra por letra
compare isto com o que vc está escrevendo, letra por letra
GOSTEI 0
Vinicius2k
29/11/2005
Como se chama o seu generator? [b:47a9d8cdaa]ENDERECO_GEN[/b:47a9d8cdaa]?
Se sim:
Um generator não está ligado à nenhuma tabela em específico e deve ser referenciado como um objeto independente.
T+
Se sim:
SET GENERATOR ENDERECO_GEN TO <valor>
Um generator não está ligado à nenhuma tabela em específico e deve ser referenciado como um objeto independente.
T+
GOSTEI 0
Edilcimar
29/11/2005
é verdade que pode ter qualquer nome, porém na hora de criar tenho por prática colocar o nomedatabela_nomedocampo-gen para facilitar, por isto citei
leia o que eu escrive inclusive com as sublinhas, qualquer duvida pegue o generator exatamente como foi criado no bd
GOSTEI 0
Vinicius2k
29/11/2005
porém na hora de criar tenho por prática colocar o nomedatabela_nomedocampo-gen para facilitar
Eu também ! :)
Mas pareceu-me não ter ficado claro ao colega visto que a instrução que ele tentava passar referenciava também a tabela e campo, além do nome do generator.
T+
GOSTEI 0
Max.sgj
29/11/2005
Se eu cliar duas vezes da a mensagem: cannot perform operation --DB is currently open.
GOSTEI 0
Max.sgj
29/11/2005
Aonde estrou errando pois na segunda clicada informa que o banco de dados está aberto.
_DM_INTERBASE.IBDatabase1.DatabaseName:= ´C:\MaxProgramador\Pro Projeto\Teste\BD Interbase\BD.GDB´;
_DM_INTERBASE.IBDatabase1.LoginPrompt:= false;
_DM_INTERBASE.IBDatabase1.Params.Add(´user_name=sysdba´);
_DM_INTERBASE.IBDatabase1.Params.Add(´password=masterkey´);
_DM_INTERBASE.IBDatabase1.SQLDialect:= 3;
_DM_INTERBASE.IBDatabase1.DefaultTransaction:= IBTransaction1;
_DM_INTERBASE.IBDatabase1.Connected:= false;
_DM_INTERBASE.IBTransaction1.defaultdatabase:= _DM_INTERBASE.IBDatabase1;
_DM_INTERBASE.IBTransaction1.DefaultAction:= TACommitRetaining;
_DM_INTERBASE.IBTransaction1.Active:= false;
//Como Gerar no Generator...
With _DM_INTERBASE.IBQuery1 do
Begin
Close;
Sql.Clear;
Sql.Add (´SET GENERATOR ENDERECO_GEN TO ´+inttostr(10)
);
ExecSql;
Close;
End;
_DM_INTERBASE.IBDatabase1.DatabaseName:= ´C:\MaxProgramador\Pro Projeto\Teste\BD Interbase\BD.GDB´;
_DM_INTERBASE.IBDatabase1.LoginPrompt:= false;
_DM_INTERBASE.IBDatabase1.Params.Add(´user_name=sysdba´);
_DM_INTERBASE.IBDatabase1.Params.Add(´password=masterkey´);
_DM_INTERBASE.IBDatabase1.SQLDialect:= 3;
_DM_INTERBASE.IBDatabase1.DefaultTransaction:= IBTransaction1;
_DM_INTERBASE.IBDatabase1.Connected:= false;
_DM_INTERBASE.IBTransaction1.defaultdatabase:= _DM_INTERBASE.IBDatabase1;
_DM_INTERBASE.IBTransaction1.DefaultAction:= TACommitRetaining;
_DM_INTERBASE.IBTransaction1.Active:= false;
//Como Gerar no Generator...
With _DM_INTERBASE.IBQuery1 do
Begin
Close;
Sql.Clear;
Sql.Add (´SET GENERATOR ENDERECO_GEN TO ´+inttostr(10)
);
ExecSql;
Close;
End;
GOSTEI 0
Max.sgj
29/11/2005
Escomando excluir o valor existente do genereitor e coloca outro valor oque eu quero e quando o varor for 51 eu coloque para 50 ou 52, sem saber o valor que existe dentro do gerereitor....
GOSTEI 0
Afarias
29/11/2005
select gen_id(nome_generator, 1) from rdb$database;
ou
select gen_id(nome_generator, -1) from rdb$database;
T+
ou
select gen_id(nome_generator, -1) from rdb$database;
T+
GOSTEI 0
Max.sgj
29/11/2005
Consegui o codigo mais na segunda clicada da a messagem de erro...
1: Cannot perform operation--DB is currently open.
1: Não possa executar operação--DB está atualmente aberto.
Veja o codigo completo...
_DM_INTERBASE.IBDatabase1.DatabaseName:= ´C:\MaxProgramador\Pro Projeto\Teste\BD Interbase\BD.GDB´;
_DM_INTERBASE.IBDatabase1.LoginPrompt:= false;
_DM_INTERBASE.IBDatabase1.Params.Add(´user_name=sysdba´);
_DM_INTERBASE.IBDatabase1.Params.Add(´password=masterkey´);
_DM_INTERBASE.IBDatabase1.SQLDialect:= 3;
_DM_INTERBASE.IBDatabase1.DefaultTransaction:= _DM_INTERBASE.IBTransaction1;
_DM_INTERBASE.IBDatabase1.Connected:= false;
_DM_INTERBASE.IBTransaction1.defaultdatabase:= _DM_INTERBASE.IBDatabase1;
_DM_INTERBASE.IBTransaction1.DefaultAction:= TACommitRetaining;
_DM_INTERBASE.IBTransaction1.Active:= false;
With _DM_INTERBASE.IBQuery1 do
Begin
Close;
Sql.Clear;
Sql.Add (´select gen_id(ENDERECO_GEN,1) from rdb$database´);
open;
Close;
End;
1: Cannot perform operation--DB is currently open.
1: Não possa executar operação--DB está atualmente aberto.
Veja o codigo completo...
_DM_INTERBASE.IBDatabase1.DatabaseName:= ´C:\MaxProgramador\Pro Projeto\Teste\BD Interbase\BD.GDB´;
_DM_INTERBASE.IBDatabase1.LoginPrompt:= false;
_DM_INTERBASE.IBDatabase1.Params.Add(´user_name=sysdba´);
_DM_INTERBASE.IBDatabase1.Params.Add(´password=masterkey´);
_DM_INTERBASE.IBDatabase1.SQLDialect:= 3;
_DM_INTERBASE.IBDatabase1.DefaultTransaction:= _DM_INTERBASE.IBTransaction1;
_DM_INTERBASE.IBDatabase1.Connected:= false;
_DM_INTERBASE.IBTransaction1.defaultdatabase:= _DM_INTERBASE.IBDatabase1;
_DM_INTERBASE.IBTransaction1.DefaultAction:= TACommitRetaining;
_DM_INTERBASE.IBTransaction1.Active:= false;
With _DM_INTERBASE.IBQuery1 do
Begin
Close;
Sql.Clear;
Sql.Add (´select gen_id(ENDERECO_GEN,1) from rdb$database´);
open;
Close;
End;
GOSTEI 0
Max.sgj
29/11/2005
Na segunda clicada da a mensagem de erro...
1: Cannot perform operation--DB is currently open.
1: Não possa executar operação--DB está atualmente aberto.
Veja o codigo completo...
_DM_INTERBASE.IBDatabase1.DatabaseName:= ´C:\MaxProgramador\Pro Projeto\Teste\BD Interbase\BD.GDB´;
_DM_INTERBASE.IBDatabase1.LoginPrompt:= false;
_DM_INTERBASE.IBDatabase1.Params.Add(´user_name=sysdba´);
_DM_INTERBASE.IBDatabase1.Params.Add(´password=masterkey´);
_DM_INTERBASE.IBDatabase1.SQLDialect:= 3;
_DM_INTERBASE.IBDatabase1.DefaultTransaction:= _DM_INTERBASE.IBTransaction1;
_DM_INTERBASE.IBDatabase1.Connected:= false;
_DM_INTERBASE.IBTransaction1.AutoStopAction:= saCommitRetaining;
_DM_INTERBASE.IBTransaction1.defaultdatabase:= _DM_INTERBASE.IBDatabase1;
_DM_INTERBASE.IBTransaction1.DefaultAction:= TACommitRetaining;
_DM_INTERBASE.IBTransaction1.Active:= false;
With _DM_INTERBASE.IBQuery1 do
Begin
Close;
Sql.Clear;
Sql.Add (´select gen_id(ENDERECO_GEN,1) from rdb$database´);
open;
Close;
End;
1: Cannot perform operation--DB is currently open.
1: Não possa executar operação--DB está atualmente aberto.
Veja o codigo completo...
_DM_INTERBASE.IBDatabase1.DatabaseName:= ´C:\MaxProgramador\Pro Projeto\Teste\BD Interbase\BD.GDB´;
_DM_INTERBASE.IBDatabase1.LoginPrompt:= false;
_DM_INTERBASE.IBDatabase1.Params.Add(´user_name=sysdba´);
_DM_INTERBASE.IBDatabase1.Params.Add(´password=masterkey´);
_DM_INTERBASE.IBDatabase1.SQLDialect:= 3;
_DM_INTERBASE.IBDatabase1.DefaultTransaction:= _DM_INTERBASE.IBTransaction1;
_DM_INTERBASE.IBDatabase1.Connected:= false;
_DM_INTERBASE.IBTransaction1.AutoStopAction:= saCommitRetaining;
_DM_INTERBASE.IBTransaction1.defaultdatabase:= _DM_INTERBASE.IBDatabase1;
_DM_INTERBASE.IBTransaction1.DefaultAction:= TACommitRetaining;
_DM_INTERBASE.IBTransaction1.Active:= false;
With _DM_INTERBASE.IBQuery1 do
Begin
Close;
Sql.Clear;
Sql.Add (´select gen_id(ENDERECO_GEN,1) from rdb$database´);
open;
Close;
End;
GOSTEI 0