Dúvida Delphi/FireBird
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
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
Curtidas 0
Respostas
[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
31/03/2004
Era isso mesmo! Muito obrigado! :D
GOSTEI 0