Obtendo a chave como resposta em um INSERT do TableAdapter

Os TableAdapters permitem a criação de querys personalizadas com extrema facilidade e implementam para nós um método para executar estas querys e nos dar o resultado.

 

Neste caso, quando digo query me refiro também a instruções de Update/Insert/Delete .

 

No caso de criarmos uma query de Insert, frequentemente desejaremos a devolução de uma chave. Como fazer para que a query de insert devolva a chave auto-numeração do banco?

 

Simples: Na tela em que o tableAdapter nos pergunta o tipo de query, ao invés de selecionarmos o tipo INSERT, vamos selecionar o tipo "SELECT com devolução de um único valor" (é claro que isso aparece em inglês).

 

Na query, colocamos o seguinte:

 

INSERT INTO TABELA (...) VALUES (...) ;

SELECT @@IDENTITY

 

Com isso estamos, logo após o select, recuperando o valor da chave.

O método gerado pelo TableAdapter irá nos devolver este valor.