Perguntas importantes.

05/04/2003

0

Pessoal, tenho umas perguntas, cuja solução será muito importante para mim:
1) Como transformo um campo em auto-incremento? Por exemplo, um código sequencial: 001, 002, 003...

2) Como atribuir um valor default a um campo?

3) Como fazer com que não sejam pedidos login e senha do Interbase a cada vez que entro numa aplicação que o utilize?

4) Tenho uma aplicação que ao executar, dá a mensagem ´Operação não aplicável´ Porquê será?

Agradeço muito a quem puder me ajudar.


Anonymous

Anonymous

Responder

Posts

05/04/2003

Anonymous

1) Como transformo um campo em auto-incremento? Por exemplo, um código sequencial: 001, 002, 003...

R. existem diversas formas de fazer, no Interbase a melhor é usando GENERATORS... vc pode gerar os números no banco (por uma trigger) ou, se precisa conhecer o número na inclusão, vc pode usar a propriedade GENERATORFIELD do IBX ou (caso não use IBX) usar uma query para ´pegar´ este valor com o código SQL:

select gen_id(NOME_GENERATOR, 1) from rdb$database


2) Como atribuir um valor default a um campo?

R. se quer q o BANCO atribua estes valores default, crie o campo com a cláusula DEFAULT (sql) e quando inserir dados, insira NULO nos campos em questão. Caso prefira atribuir os valores no lado cliente, vc pode usar a propriedade DefaultExpression dos objetos TFIELD


3) Como fazer com que não sejam pedidos login e senha do Interbase a cada vez que entro numa aplicação que o utilize?

R. Defina os parâmetros USER_NAME e PASSWORD na propriedade PARAMS do Database... e a propriedade LoginPrompt = FALSE; no caso do IBX, vc pode fazer:

escreva na propriedade PARAMS:

user_name=nome_do_usuario
password=senha
sql_role_name=role_do_usuario

a linha do SQL_ROLE_NAME é opcional. Vc pode ainda (nocaso do IBX) dá um clique-duplo no componente e preencher o form de ´auxílio´ ou fazer via código:

with IBDatabase1 do
begin
LoginPrompt := False;
Params.Values[´USER_NAME´] := ´nome_do_usuario´;
Params.Values[´PASSWORD´] := ´senha´;
Params.Values[´SQL_ROLE_NAME´] := ´role_do_usuario´; // caso use
try
Connected := True;
except
// meu tratamento de erro
end;
end;


4) Tenho uma aplicação que ao executar, dá a mensagem ´Operação não aplicável´ Porquê será?

boa pergunta!

Que componentes vc usa? Já depurou para ver em q momento (q ação está sendo executada) está ocorrendo??



Abraço!


Responder

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

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

Aceitar