Fórum Dúvida Delphi/FireBird #223647

31/03/2004

0

Pessoal, sempre utilizei o SQL Server para desenvolver meus projetos e pela primeira vez estou utilizando o Firebird.
Minhas dúvidas são as seguintes:

1- Estou usando DbExpress e quando insiro um novo registro pelo Delphi ele me diz que o campo chave está nulo, só que eu criei a trigger e o generator. Tanto que pelo IBExpert eu insiro sem problemas.

2- Qual é correspondente do comand ´print´ do Transact-SQL para exibir uma string dentro de uma procedure ou um script qualquer

1 Abraço a todos


Cbritojunior

Cbritojunior

Responder

Posts

31/03/2004

[spyk3r]

1- Estou usando DbExpress e quando insiro um novo registro pelo Delphi ele me diz que o campo chave está nulo, só que eu criei a trigger e o generator. Tanto que pelo IBExpert eu insiro sem problemas.


Como o trigger gera um valor valido para a chave primaria somente no servidor, a aplicação cliente não aceita um código nulo, pois ele entende que o campo é requerido e não contém nenhum valor, ou seja, ele gera um erro do tipo ´field required is null´ ou algo do tipo, para evitar a famosa violação de chave primaria no lado servidor..

Porém como voce mesmo disse, tendo um trigger e um generator definidos no servidor, isso nao ocorrerá, e para solucionar voce deve:

Localizar o campo que é chave primaria no fields editor do teu sqldataset (ou sqlquery) e setar a propriedade ´Required´ para false, assim a aplicação cliente não vai exigir um valor para o campo, e o servidor se prontificará em gerar um valor valido para a chave primaria.

[]´s spyker


Responder

Gostei + 0

01/04/2004

Cbritojunior

Era isso mesmo! Muito obrigado! :D


Responder

Gostei + 0

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

Aceitar