Dúvida Delphi/FireBird

Delphi

31/03/2004

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

Curtidas 0

Respostas

[spyk3r]

[spyk3r]

31/03/2004

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


GOSTEI 0
Cbritojunior

Cbritojunior

31/03/2004

Era isso mesmo! Muito obrigado! :D


GOSTEI 0
POSTAR